aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2011-10-03 16:35:33 +0100
committerJan Beulich <jbeulich@suse.com>2011-10-03 16:35:33 +0100
commit14f10c81d026049d956029ca9980ba28af863ffd (patch)
treeae907af85a0276436173c9f4b30c1222c21d11af
parent853368fb06f61c01d5646b20d3f78e76be475a55 (diff)
downloadxen-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.c2
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 "