On Tue, Aug 20, 2024 at 9:49 PM Matthew Maurer <mmaurer@xxxxxxxxxx> wrote: > > Right now, if we turn on KASAN, Rust code will cause violations because > it's not enabled properly. > > This series: > 1. Adds flag probe macros for Rust - now that we're setting a minimum rustc > version instead of an exact one, these could be useful in general. We need > them in this patch because we don't set a restriction on which LLVM rustc > is using, which is what KASAN actually cares about. > 2. Makes `rustc` enable the relevant KASAN sanitizer flags when C does. > 3. Adds a smoke test to the `kasan_test` KUnit suite to check basic > integration. > > This patch series requires the target.json array support patch [1] as > the x86_64 target.json file currently produced does not mark itself as KASAN > capable, and is rebased on top of the KASAN Makefile rewrite [2]. Applied to `rust-next` -- thanks everyone! [ Applied empty line nit, removed double empty line, applied `rustfmt` and formatted crate comment. - Miguel ] [ Applied "SW_TAGS KASAN" nit. - Miguel ] I think `TMPOUT` needs to be passed though, i.e. like I did in https://github.com/Rust-for-Linux/linux/pull/1087#issuecomment-2218445303: diff --git a/scripts/Makefile.compiler b/scripts/Makefile.compiler index 057305eae85c..0ac8679095f4 100644 --- a/scripts/Makefile.compiler +++ b/scripts/Makefile.compiler @@ -20,6 +20,7 @@ TMPOUT = $(if $(KBUILD_EXTMOD),$(firstword $(KBUILD_EXTMOD))/).tmp_$$$$ # Exit code chooses option. "$$TMP" serves as a temporary file and is # automatically cleaned up. try-run = $(shell set -e; \ + TMPOUT=$(TMPOUT); \ TMP=$(TMPOUT)/tmp; \ trap "rm -rf $(TMPOUT)" EXIT; \ mkdir -p $(TMPOUT); \ Or is there something I am missing? Cheers, Miguel