[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220824084726.2174758-1-naohiro.aota@wdc.com>
Date: Wed, 24 Aug 2022 17:47:26 +0900
From: Naohiro Aota <naohiro.aota@....com>
To: linux-mm@...ck.org, akpm@...ux-foundation.org, x86@...nel.org
Cc: linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Andy Lutomirski <luto@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
"H. Peter Anvin" <hpa@...or.com>,
Naohiro Aota <naohiro.aota@....com>,
Anshuman Khandual <anshuman.khandual@....com>
Subject: [PATCH] x86/mm: disable instrumentations of mm/pgprot.c
The commit 4867fbbdd6b3 ("x86/mm: move protection_map[] inside the
platform") moved accesses to protection_map[] from mem_encrypt_amd.c to
pgprot.c. As a result, the accesses are now targets of KASAN (and other
instrumentations), leading to the crash during the boot process.
Disable the instrumentations for pgprot.c like commit 67bb8e999e0a
("x86/mm: Disable various instrumentations of mm/mem_encrypt.c and
mm/tlb.c").
Before this patch, my AMD machine cannot boot since v6.0-rc1 with KASAN
enabled, without anything printed. After the change, it successfully boots
up.
Cc: Anshuman Khandual <anshuman.khandual@....com>
Signed-off-by: Naohiro Aota <naohiro.aota@....com>
---
arch/x86/mm/Makefile | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/x86/mm/Makefile b/arch/x86/mm/Makefile
index f8220fd2c169..829c1409ffbd 100644
--- a/arch/x86/mm/Makefile
+++ b/arch/x86/mm/Makefile
@@ -4,10 +4,12 @@ KCOV_INSTRUMENT_tlb.o := n
KCOV_INSTRUMENT_mem_encrypt.o := n
KCOV_INSTRUMENT_mem_encrypt_amd.o := n
KCOV_INSTRUMENT_mem_encrypt_identity.o := n
+KCOV_INSTRUMENT_pgprot.o := n
KASAN_SANITIZE_mem_encrypt.o := n
KASAN_SANITIZE_mem_encrypt_amd.o := n
KASAN_SANITIZE_mem_encrypt_identity.o := n
+KASAN_SANITIZE_pgprot.o := n
# Disable KCSAN entirely, because otherwise we get warnings that some functions
# reference __initdata sections.
@@ -17,6 +19,7 @@ ifdef CONFIG_FUNCTION_TRACER
CFLAGS_REMOVE_mem_encrypt.o = -pg
CFLAGS_REMOVE_mem_encrypt_amd.o = -pg
CFLAGS_REMOVE_mem_encrypt_identity.o = -pg
+CFLAGS_REMOVE_pgprot.o = -pg
endif
obj-y := init.o init_$(BITS).o fault.o ioremap.o extable.o mmap.o \
--
2.37.2
Powered by blists - more mailing lists