[PATCH v2 01/11] kasan: unify static kasan_flag_enabled across modes
Alexander Gordeev
agordeev at linux.ibm.com
Mon Jun 30 22:31:00 AEST 2025
On Thu, Jun 26, 2025 at 08:31:37PM +0500, Sabyrzhan Tasbolatov wrote:
Hi Sabyrzhan,
> diff --git a/mm/kasan/generic.c b/mm/kasan/generic.c
> index d54e89f8c3e..32c432df24a 100644
> --- a/mm/kasan/generic.c
> +++ b/mm/kasan/generic.c
> @@ -36,6 +36,17 @@
> #include "kasan.h"
> #include "../slab.h"
>
> +/*
> + * Initialize Generic KASAN and enable runtime checks.
> + * This should be called from arch kasan_init() once shadow memory is ready.
> + */
> +void __init kasan_init_generic(void)
> +{
> + static_branch_enable(&kasan_flag_enabled);
s390 crashes at this line, when the whole series is applied.
FWIW, it looks like kasan is called while its state is not yet finalized.
E.g. whether calling __asan_report_store4_noabort() before kasan_init_generic()
is expected?
32e0a54: c0 e5 fe a9 70 56 brasl %r14,80eb00 <__asan_report_store4_noabort>
32e0a5a: c4 28 ff cb bb a3 lgrl %r2,2c581a0 <_GLOBAL_OFFSET_TABLE_+0x70c0>
sort_extable(__start_amode31_ex_table, __stop_amode31_ex_table);
32e0a60: a5 ac 00 1c llihh %r10,28
init_task.kasan_depth = 0;
32e0a64: e3 40 2b c8 01 71 lay %r4,7112(%r2)
32e0a6a: e5 4c 40 00 00 00 mvhi 0(%r4),0
kasan_init_generic();
32e0a70: c0 e5 00 01 e7 3c brasl %r14,331d8e8 <kasan_init_generic>
> + pr_info("KernelAddressSanitizer initialized (generic)\n");
> +}
Thanks!
More information about the Linuxppc-dev
mailing list