Skip to content

Commit b873e98

Browse files
Kuan-Ying Leetorvalds
authored andcommitted
kasan: add kasan mode messages when kasan init
There are multiple kasan modes. It makes sense that we add some messages to know which kasan mode is active when booting up [1]. Link: https://bugzilla.kernel.org/show_bug.cgi?id=212195 [1] Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Kuan-Ying Lee <[email protected]> Reviewed-by: Marco Elver <[email protected]> Reviewed-by: David Hildenbrand <[email protected]> Cc: Andrey Ryabinin <[email protected]> Cc: Alexander Potapenko <[email protected]> Cc: Andrey Konovalov <[email protected]> Cc: Dmitry Vyukov <[email protected]> Cc: Catalin Marinas <[email protected]> Cc: Will Deacon <[email protected]> Cc: Matthias Brugger <[email protected]> Cc: Chinwen Chang <[email protected]> Cc: Yee Lee <[email protected]> Cc: Nicholas Tang <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
1 parent ab2f9d2 commit b873e98

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

arch/arm64/mm/kasan_init.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ void __init kasan_init(void)
310310
kasan_init_depth();
311311
#if defined(CONFIG_KASAN_GENERIC)
312312
/* CONFIG_KASAN_SW_TAGS also requires kasan_init_sw_tags(). */
313-
pr_info("KernelAddressSanitizer initialized\n");
313+
pr_info("KernelAddressSanitizer initialized (generic)\n");
314314
#endif
315315
}
316316

mm/kasan/hw_tags.c

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,16 @@ static int __init early_kasan_flag_stacktrace(char *arg)
106106
}
107107
early_param("kasan.stacktrace", early_kasan_flag_stacktrace);
108108

109+
static inline const char *kasan_mode_info(void)
110+
{
111+
if (kasan_mode == KASAN_MODE_ASYNC)
112+
return "async";
113+
else if (kasan_mode == KASAN_MODE_ASYMM)
114+
return "asymm";
115+
else
116+
return "sync";
117+
}
118+
109119
/* kasan_init_hw_tags_cpu() is called for each CPU. */
110120
void kasan_init_hw_tags_cpu(void)
111121
{
@@ -177,7 +187,9 @@ void __init kasan_init_hw_tags(void)
177187
break;
178188
}
179189

180-
pr_info("KernelAddressSanitizer initialized\n");
190+
pr_info("KernelAddressSanitizer initialized (hw-tags, mode=%s, stacktrace=%s)\n",
191+
kasan_mode_info(),
192+
kasan_stack_collection_enabled() ? "on" : "off");
181193
}
182194

183195
void kasan_alloc_pages(struct page *page, unsigned int order, gfp_t flags)

mm/kasan/sw_tags.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ void __init kasan_init_sw_tags(void)
4242
for_each_possible_cpu(cpu)
4343
per_cpu(prng_state, cpu) = (u32)get_cycles();
4444

45-
pr_info("KernelAddressSanitizer initialized\n");
45+
pr_info("KernelAddressSanitizer initialized (sw-tags)\n");
4646
}
4747

4848
/*

0 commit comments

Comments
 (0)