diff options
author | Jan Beulich <jbeulich@suse.com> | 2011-10-03 16:35:33 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2011-10-03 16:35:33 +0100 |
commit | 14f10c81d026049d956029ca9980ba28af863ffd (patch) | |
tree | ae907af85a0276436173c9f4b30c1222c21d11af | |
parent | 853368fb06f61c01d5646b20d3f78e76be475a55 (diff) | |
download | xen-14f10c81d026049d956029ca9980ba28af863ffd.tar.gz xen-14f10c81d026049d956029ca9980ba28af863ffd.tar.bz2 xen-14f10c81d026049d956029ca9980ba28af863ffd.zip |
VT-d: fix off-by-one error in RMRR validation
(base_addr,end_addr) is an inclusive range, and hence there shouldn't
be a subtraction of 1 in the second invocation of page_is_ram_type().
For RMRRs covering a single page that actually resulted in the
immediately preceding page to get checked (which could have resulted
in a false warning).
Signed-off-by: Jan Beulich <jbeulich@suse.com>
xen-unstable changeset: 23868:28147fd781af
xen-unstable date: Thu Sep 22 18:32:34 2011 +0100
-rw-r--r-- | xen/drivers/passthrough/vtd/dmar.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c index 1c7f9f3027..0737c5af8b 100644 --- a/xen/drivers/passthrough/vtd/dmar.c +++ b/xen/drivers/passthrough/vtd/dmar.c @@ -515,7 +515,7 @@ acpi_parse_one_rmrr(struct acpi_dmar_entry_header *header) * inform the user */ if ( (!page_is_ram_type(paddr_to_pfn(base_addr), RAM_TYPE_RESERVED)) || - (!page_is_ram_type(paddr_to_pfn(end_addr) - 1, RAM_TYPE_RESERVED)) ) + (!page_is_ram_type(paddr_to_pfn(end_addr), RAM_TYPE_RESERVED)) ) { dprintk(XENLOG_WARNING VTDPREFIX, " RMRR address range not in reserved memory " |