Skip to content
/ linux Public

Commit e6045f2

Browse files
seehearfeelSasha Levin
authored andcommitted
LoongArch: Disable instrumentation for setup_ptwalker()
[ Upstream commit 7cb37af ] According to Documentation/dev-tools/kasan.rst, software KASAN modes use compiler instrumentation to insert validity checks. Such instrumentation might be incompatible with some parts of the kernel, and therefore needs to be disabled, just use the attribute __no_sanitize_address to disable instrumentation for the low level function setup_ptwalker(). Otherwise bringing up the secondary CPUs failed when CONFIG_KASAN is set (especially when PTW is enabled), here are the call chains: smpboot_entry() start_secondary() cpu_probe() per_cpu_trap_init() tlb_init() setup_tlb_handler() setup_ptwalker() The reason is the PGD registers are configured in setup_ptwalker(), but KASAN instrumentation may cause TLB exceptions before that. Cc: stable@vger.kernel.org Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 391f6ba commit e6045f2

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

arch/loongarch/mm/tlb.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ void __update_tlb(struct vm_area_struct *vma, unsigned long address, pte_t *ptep
198198
local_irq_restore(flags);
199199
}
200200

201-
static void setup_ptwalker(void)
201+
static void __no_sanitize_address setup_ptwalker(void)
202202
{
203203
unsigned long pwctl0, pwctl1;
204204
unsigned long pgd_i = 0, pgd_w = 0;

0 commit comments

Comments
 (0)