[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20191211194606.87940-3-brho@google.com>
Date: Wed, 11 Dec 2019 14:46:05 -0500
From: Barret Rhoden <brho@...gle.com>
To: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
"H. Peter Anvin" <hpa@...or.com>,
David Woodhouse <dwmw2@...radead.org>,
Joerg Roedel <joro@...tes.org>,
Yian Chen <yian.chen@...el.com>,
Sohil Mehta <sohil.mehta@...el.com>
Cc: linux-kernel@...r.kernel.org, iommu@...ts.linux-foundation.org,
x86@...nel.org
Subject: [PATCH 2/3] iommu/vt-d: treat unmapped RMRR entries as sane
The RMRR sanity check is to confirm that the memory pointed to by the
RMRR entry is not used by the kernel. e820 RESERVED memory will not be
used. However, there are ranges of physical memory that are not covered
by the e820 table at all. The kernel will not use this memory, either.
This commit expands the sanity check to treat memory that is not in any
e820 entry as safe.
Signed-off-by: Barret Rhoden <brho@...gle.com>
---
arch/x86/include/asm/iommu.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/x86/include/asm/iommu.h b/arch/x86/include/asm/iommu.h
index bf1ed2ddc74b..7e9f0c2f975f 100644
--- a/arch/x86/include/asm/iommu.h
+++ b/arch/x86/include/asm/iommu.h
@@ -20,6 +20,8 @@ arch_rmrr_sanity_check(struct acpi_dmar_reserved_memory *rmrr)
if (e820__mapped_all(start, end, E820_TYPE_RESERVED))
return 0;
+ if (!e820__mapped_any(start, end, 0))
+ return 0;
pr_err(FW_BUG "No firmware reserved region can cover this RMRR [%#018Lx-%#018Lx], contact BIOS vendor for fixes\n",
start, end - 1);
--
2.24.0.525.g8f36a354ae-goog
Powered by blists - more mailing lists