On Tue, 14 Feb 2023 at 02:21, Peter Collingbourne <pcc@xxxxxxxxxx> wrote: > > On Tue, Oct 18, 2022 at 10:17 AM <andrey.konovalov@xxxxxxxxx> wrote: > > > > From: Andrey Konovalov <andreyknvl@xxxxxxxxxx> > > > > Switch KUnit-compatible KASAN tests from using per-task KUnit resources > > to console tracepoints. > > > > This allows for two things: > > > > 1. Migrating tests that trigger a KASAN report in the context of a task > > other than current to KUnit framework. > > This is implemented in the patches that follow. > > > > 2. Parsing and matching the contents of KASAN reports. > > This is not yet implemented. > > > > Reviewed-by: Marco Elver <elver@xxxxxxxxxx> > > Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> > > > > --- > > > > Changed v2->v3: > > - Rebased onto 6.1-rc1 > > > > Changes v1->v2: > > - Remove kunit_kasan_status struct definition. > > --- > > lib/Kconfig.kasan | 2 +- > > mm/kasan/kasan.h | 8 ---- > > mm/kasan/kasan_test.c | 85 +++++++++++++++++++++++++++++++------------ > > mm/kasan/report.c | 31 ---------------- > > 4 files changed, 63 insertions(+), 63 deletions(-) > > > > diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan > > index ca09b1cf8ee9..ba5b27962c34 100644 > > --- a/lib/Kconfig.kasan > > +++ b/lib/Kconfig.kasan > > @@ -181,7 +181,7 @@ config KASAN_VMALLOC > > > > config KASAN_KUNIT_TEST > > tristate "KUnit-compatible tests of KASAN bug detection capabilities" if !KUNIT_ALL_TESTS > > - depends on KASAN && KUNIT > > + depends on KASAN && KUNIT && TRACEPOINTS > > My build script for a KASAN-enabled kernel does something like: > > make defconfig > scripts/config -e CONFIG_KUNIT -e CONFIG_KASAN -e CONFIG_KASAN_HW_TAGS > -e CONFIG_KASAN_KUNIT_TEST > yes '' | make syncconfig > > and after this change, the unit tests are no longer built. Should this > use "select TRACING" instead? I think we shouldn't select TRACING, which should only be selected by tracers. You'd need CONFIG_FTRACE=y. Since FTRACE is rather big, we probably also shouldn't implicitly select it. Instead, at least when using kunit.py tool, we could add a mm/kasan/.kunitconfig like: CONFIG_KUNIT=y CONFIG_KASAN=y CONFIG_KASAN_KUNIT_TEST=y # Additional dependencies. CONFIG_FTRACE=y Which mirrors the KFENCE mm/kfence/.kunitconfig. But that doesn't help if you want to run it with something other than KUnit tool.