[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f10f3599-509d-4455-94a3-fcbeeffd8219@gmail.com>
Date: Tue, 22 Jul 2025 00:59:23 +0200
From: Andrey Ryabinin <ryabinin.a.a@...il.com>
To: Sabyrzhan Tasbolatov <snovitoll@...il.com>, hca@...ux.ibm.com,
christophe.leroy@...roup.eu, andreyknvl@...il.com, agordeev@...ux.ibm.com,
akpm@...ux-foundation.org
Cc: glider@...gle.com, dvyukov@...gle.com, kasan-dev@...glegroups.com,
linux-kernel@...r.kernel.org, loongarch@...ts.linux.dev,
linuxppc-dev@...ts.ozlabs.org, linux-riscv@...ts.infradead.org,
linux-s390@...r.kernel.org, linux-um@...ts.infradead.org, linux-mm@...ck.org
Subject: Re: [PATCH v3 00/12] kasan: unify kasan_arch_is_ready() and remove
arch-specific implementations
On 7/17/25 4:27 PM, Sabyrzhan Tasbolatov wrote:
> === Testing with patches
>
> Testing in v3:
>
> - Compiled every affected arch with no errors:
>
> $ make CC=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip \
> OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump READELF=llvm-readelf \
> HOSTCC=clang HOSTCXX=clang++ HOSTAR=llvm-ar HOSTLD=ld.lld \
> ARCH=$ARCH
>
> $ clang --version
> ClangBuiltLinux clang version 19.1.4
> Target: x86_64-unknown-linux-gnu
> Thread model: posix
>
> - make ARCH=um produces the warning during compiling:
> MODPOST Module.symvers
> WARNING: modpost: vmlinux: section mismatch in reference: \
> kasan_init+0x43 (section: .ltext) -> \
> kasan_init_generic (section: .init.text)
>
> AFAIU, it's due to the code in arch/um/kernel/mem.c, where kasan_init()
> is placed in own section ".kasan_init", which calls kasan_init_generic()
> which is marked with "__init".
>
> - Booting via qemu-system- and running KUnit tests:
>
> * arm64 (GENERIC, HW_TAGS, SW_TAGS): no regression, same above results.
> * x86_64 (GENERIC): no regression, no errors
>
It would be interesting to see whether ARCH_DEFER_KASAN=y arches work.
These series add static key into __asan_load*()/_store*() which are called
from everywhere, including the code patching static branches during the switch.
I have suspicion that the code patching static branches during static key switch
might not be prepared to the fact the current CPU might try to execute this static
branch in the middle of switch.
Powered by blists - more mailing lists