From e28d7b720a3e68f96fa660bad5e40218b8d0dd36 Mon Sep 17 00:00:00 2001 From: kib Date: Tue, 24 Mar 2015 08:18:24 +0000 Subject: [PATCH] MFC r280195: When inserting new entry into the address map, ensure that not only next entry does not intersect with the tail of the new entry, but also that previous entry is also before new entry start. git-svn-id: svn://svn.freebsd.org/base/stable/10@280424 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- sys/x86/iommu/intel_gas.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/x86/iommu/intel_gas.c b/sys/x86/iommu/intel_gas.c index 51ad1510a..5ccf34ba6 100644 --- a/sys/x86/iommu/intel_gas.c +++ b/sys/x86/iommu/intel_gas.c @@ -366,7 +366,8 @@ dmar_gas_match_insert(struct dmar_gas_match_args *a, next = RB_NEXT(dmar_gas_entries_tree, &a->ctx->rb_root, prev); KASSERT(next->start >= a->entry->end && - next->start - a->entry->start >= a->size, + next->start - a->entry->start >= a->size && + prev->end <= a->entry->end, ("dmar_gas_match_insert hole failed %p prev (%jx, %jx) " "free_after %jx next (%jx, %jx) entry (%jx, %jx)", a->ctx, (uintmax_t)prev->start, (uintmax_t)prev->end, -- 2.45.0