On Mon, Aug 25, 2025 at 10:26 PM Maciej Wieczor-Retman <maciej.wieczor-retman@xxxxxxxxx> wrote: > > The LLVM compiler uses hwasan-instrument-with-calls parameter to setup > inline or outline mode in tag-based KASAN. If zeroed, it means the > instrumentation implementation will be pasted into each relevant > location along with KASAN related constants during compilation. If set > to one all function instrumentation will be done with function calls > instead. > > The default hwasan-instrument-with-calls value for the x86 architecture > in the compiler is "1", which is not true for other architectures. > Because of this, enabling inline mode in software tag-based KASAN > doesn't work on x86 as the kernel script doesn't zero out the parameter > and always sets up the outline mode. > > Explicitly zero out hwasan-instrument-with-calls when enabling inline > mode in tag-based KASAN. > > Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@xxxxxxxxx> > --- > Changelog v3: > - Add this patch to the series. > > scripts/Makefile.kasan | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/scripts/Makefile.kasan b/scripts/Makefile.kasan > index 693dbbebebba..2c7be96727ac 100644 > --- a/scripts/Makefile.kasan > +++ b/scripts/Makefile.kasan > @@ -76,8 +76,11 @@ CFLAGS_KASAN := -fsanitize=kernel-hwaddress > RUSTFLAGS_KASAN := -Zsanitizer=kernel-hwaddress \ > -Zsanitizer-recover=kernel-hwaddress > > +# LLVM sets hwasan-instrument-with-calls to 1 on x86 by default. Set it to 0 > +# when inline mode is enabled. > ifdef CONFIG_KASAN_INLINE > kasan_params += hwasan-mapping-offset=$(KASAN_SHADOW_OFFSET) > + kasan_params += hwasan-instrument-with-calls=0 > else > kasan_params += hwasan-instrument-with-calls=1 > endif > -- > 2.50.1 > Reviewed-by: Andrey Konovalov <andreyknvl@xxxxxxxxx>