Tag-based KASAN modes are initialized with kasan_init_tags() instead of kasan_init() for the generic mode. Move the initialization message for tag-based modes into kasan_init_tags(). Also fix pr_fmt() usage for KASAN code: generic mode doesn't need it, tag-based modes should use "kasan:" instead of KBUILD_MODNAME. Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Link: https://linux-review.googlesource.com/id/Idfd1e50625ffdf42dfc3dbf7455b11bd200a0a49 --- arch/arm64/mm/kasan_init.c | 3 +++ mm/kasan/generic.c | 2 -- mm/kasan/hw_tags.c | 4 ++++ mm/kasan/sw_tags.c | 4 +++- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/arch/arm64/mm/kasan_init.c b/arch/arm64/mm/kasan_init.c index b6b9d55bb72e..8f17fa834b62 100644 --- a/arch/arm64/mm/kasan_init.c +++ b/arch/arm64/mm/kasan_init.c @@ -290,5 +290,8 @@ void __init kasan_init(void) { kasan_init_shadow(); kasan_init_depth(); +#if defined(CONFIG_KASAN_GENERIC) + /* CONFIG_KASAN_SW/HW_TAGS also requires kasan_init_tags(). */ pr_info("KernelAddressSanitizer initialized\n"); +#endif } diff --git a/mm/kasan/generic.c b/mm/kasan/generic.c index de6b3f03a023..d259e4c3aefd 100644 --- a/mm/kasan/generic.c +++ b/mm/kasan/generic.c @@ -9,8 +9,6 @@ * Andrey Konovalov <andreyknvl@xxxxxxxxx> */ -#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - #include <linux/export.h> #include <linux/interrupt.h> #include <linux/init.h> diff --git a/mm/kasan/hw_tags.c b/mm/kasan/hw_tags.c index 0128062320d5..b372421258c8 100644 --- a/mm/kasan/hw_tags.c +++ b/mm/kasan/hw_tags.c @@ -6,6 +6,8 @@ * Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> */ +#define pr_fmt(fmt) "kasan: " fmt + #include <linux/kasan.h> #include <linux/kernel.h> #include <linux/memory.h> @@ -18,6 +20,8 @@ void __init kasan_init_tags(void) { init_tags(KASAN_TAG_MAX); + + pr_info("KernelAddressSanitizer initialized\n"); } void *kasan_reset_tag(const void *addr) diff --git a/mm/kasan/sw_tags.c b/mm/kasan/sw_tags.c index bf1422282bb5..099af6dc8f7e 100644 --- a/mm/kasan/sw_tags.c +++ b/mm/kasan/sw_tags.c @@ -6,7 +6,7 @@ * Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> */ -#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt +#define pr_fmt(fmt) "kasan: " fmt #include <linux/export.h> #include <linux/interrupt.h> @@ -41,6 +41,8 @@ void __init kasan_init_tags(void) for_each_possible_cpu(cpu) per_cpu(prng_state, cpu) = (u32)get_cycles(); + + pr_info("KernelAddressSanitizer initialized\n"); } /* -- 2.28.0.1011.ga647a8990f-goog