mirror of https://github.com/torvalds/linux.git
kasan: call kasan_init_generic in kasan_init
Call kasan_init_generic() which handles Generic KASAN initialization. For architectures that do not select ARCH_DEFER_KASAN, this will be a no-op for the runtime flag but will print the initialization banner. For SW_TAGS and HW_TAGS modes, their respective init functions will handle the flag enabling, if they are enabled/implemented. Link: https://lkml.kernel.org/r/20250810125746.1105476-3-snovitoll@gmail.com Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217049 Signed-off-by: Sabyrzhan Tasbolatov <snovitoll@gmail.com> Tested-by: Alexandre Ghiti <alexghiti@rivosinc.com> [riscv] Acked-by: Alexander Gordeev <agordeev@linux.ibm.com> [s390] Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Cc: Alexander Potapenko <glider@google.com> Cc: Alexandre Ghiti <alex@ghiti.fr> Cc: Andrey Konovalov <andreyknvl@gmail.com> Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com> Cc: Baoquan He <bhe@redhat.com> Cc: David Gow <davidgow@google.com> Cc: Dmitriy Vyukov <dvyukov@google.com> Cc: Heiko Carstens <hca@linux.ibm.com> Cc: Huacai Chen <chenhuacai@loongson.cn> Cc: Marco Elver <elver@google.com> Cc: Qing Zhang <zhangqing@loongson.cn> Cc: Vincenzo Frascino <vincenzo.frascino@arm.com> Cc: Ritesh Harjani (IBM) <ritesh.list@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
1e338f4d99
commit
e45085f267
|
|
@ -300,6 +300,6 @@ void __init kasan_init(void)
|
|||
local_flush_tlb_all();
|
||||
|
||||
memset(kasan_early_shadow_page, 0, PAGE_SIZE);
|
||||
pr_info("Kernel address sanitizer initialized\n");
|
||||
init_task.kasan_depth = 0;
|
||||
kasan_init_generic();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -399,14 +399,12 @@ void __init kasan_init(void)
|
|||
{
|
||||
kasan_init_shadow();
|
||||
kasan_init_depth();
|
||||
#if defined(CONFIG_KASAN_GENERIC)
|
||||
kasan_init_generic();
|
||||
/*
|
||||
* Generic KASAN is now fully initialized.
|
||||
* Software and Hardware Tag-Based modes still require
|
||||
* kasan_init_sw_tags() and kasan_init_hw_tags() correspondingly.
|
||||
*/
|
||||
pr_info("KernelAddressSanitizer initialized (generic)\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif /* CONFIG_KASAN_GENERIC || CONFIG_KASAN_SW_TAGS */
|
||||
|
|
|
|||
|
|
@ -533,4 +533,5 @@ void __init kasan_init(void)
|
|||
|
||||
csr_write(CSR_SATP, PFN_DOWN(__pa(swapper_pg_dir)) | satp_mode);
|
||||
local_flush_tlb_all();
|
||||
kasan_init_generic();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <asm/asm-extable.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/kasan.h>
|
||||
#include <asm/access-regs.h>
|
||||
#include <asm/asm-offsets.h>
|
||||
#include <asm/machine.h>
|
||||
|
|
@ -65,7 +66,7 @@ static void __init kasan_early_init(void)
|
|||
{
|
||||
#ifdef CONFIG_KASAN
|
||||
init_task.kasan_depth = 0;
|
||||
pr_info("KernelAddressSanitizer initialized\n");
|
||||
kasan_init_generic();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -451,5 +451,5 @@ void __init kasan_init(void)
|
|||
__flush_tlb_all();
|
||||
|
||||
init_task.kasan_depth = 0;
|
||||
pr_info("KernelAddressSanitizer initialized\n");
|
||||
kasan_init_generic();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,5 +94,5 @@ void __init kasan_init(void)
|
|||
|
||||
/* At this point kasan is fully initialized. Enable error messages. */
|
||||
current->kasan_depth = 0;
|
||||
pr_info("KernelAddressSanitizer initialized\n");
|
||||
kasan_init_generic();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue