[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1] memory: remove assert to avoid unnecessary coredump
From: |
Yi Sun |
Subject: |
[PATCH v1] memory: remove assert to avoid unnecessary coredump |
Date: |
Tue, 3 Mar 2020 11:11:14 +0800 |
It is too strict to use assert to make qemu coredump if
the notification does not overlap with registered range.
Skip it is fine enough.
During test, we found such a case for vhost net device:
memory_region_notify_one: entry->iova=0xfee00000, entry_end=0xfeffffff,
notifier->start=0xfef00000, notifier->end=0xffffffffffffffff
Skip this notification but not coredump makes everything
work well.
Signed-off-by: Yi Sun <address@hidden>
---
memory.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/memory.c b/memory.c
index 06484c2bff..62ad0f3377 100644
--- a/memory.c
+++ b/memory.c
@@ -1921,12 +1921,11 @@ void memory_region_notify_one(IOMMUNotifier *notifier,
* Skip the notification if the notification does not overlap
* with registered range.
*/
- if (notifier->start > entry_end || notifier->end < entry->iova) {
+ if (notifier->start > entry_end || notifier->end < entry->iova ||
+ entry->iova < notifier->start || entry_end > notifier->end) {
return;
}
- assert(entry->iova >= notifier->start && entry_end <= notifier->end);
-
if (entry->perm & IOMMU_RW) {
request_flags = IOMMU_NOTIFIER_MAP;
} else {
--
2.15.1
- [PATCH v1] memory: remove assert to avoid unnecessary coredump,
Yi Sun <=