Commit 639420e9 authored by Huacai Chen's avatar Huacai Chen
Browse files

LoongArch: Fix earlycon parameter if KASAN enabled



The earlycon parameter is based on fixmap, and fixmap addresses are not
supposed to be shadowed by KASAN. So return the kasan_early_shadow_page
in kasan_mem_to_shadow() if the input address is above FIXADDR_START.
Otherwise earlycon cannot work after kasan_init().

Cc: stable@vger.kernel.org
Fixes: 5aa4ac64 ("LoongArch: Add KASAN (Kernel Address Sanitizer) support")
Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
parent 4551b305
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -44,6 +44,9 @@ void *kasan_mem_to_shadow(const void *addr)
		unsigned long xrange = (maddr >> XRANGE_SHIFT) & 0xffff;
		unsigned long offset = 0;

		if (maddr >= FIXADDR_START)
			return (void *)(kasan_early_shadow_page);

		maddr &= XRANGE_SHADOW_MASK;
		switch (xrange) {
		case XKPRANGE_CC_SEG: