On Mon, Jun 29, 2020 at 12:42 PM Marco Elver <elver@xxxxxxxxxx> wrote: > > Turn 'KASAN' into a menuconfig, to avoid cluttering its parent menu with > the suboptions if enabled. Use 'if KASAN ... endif' instead of having > to 'depend on KASAN' for each entry. > > Signed-off-by: Marco Elver <elver@xxxxxxxxxx> > --- > lib/Kconfig.kasan | 15 ++++++++------- > 1 file changed, 8 insertions(+), 7 deletions(-) > > diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan > index 34b84bcbd3d9..89053defc0d9 100644 > --- a/lib/Kconfig.kasan > +++ b/lib/Kconfig.kasan > @@ -18,7 +18,7 @@ config CC_HAS_KASAN_SW_TAGS > config CC_HAS_WORKING_NOSANITIZE_ADDRESS > def_bool !CC_IS_GCC || GCC_VERSION >= 80300 > > -config KASAN > +menuconfig KASAN > bool "KASAN: runtime memory debugger" > depends on (HAVE_ARCH_KASAN && CC_HAS_KASAN_GENERIC) || \ > (HAVE_ARCH_KASAN_SW_TAGS && CC_HAS_KASAN_SW_TAGS) > @@ -29,9 +29,10 @@ config KASAN > designed to find out-of-bounds accesses and use-after-free bugs. > See Documentation/dev-tools/kasan.rst for details. > > +if KASAN > + > choice > prompt "KASAN mode" > - depends on KASAN > default KASAN_GENERIC > help > KASAN has two modes: generic KASAN (similar to userspace ASan, > @@ -88,7 +89,6 @@ endchoice > > choice > prompt "Instrumentation type" > - depends on KASAN > default KASAN_OUTLINE > > config KASAN_OUTLINE > @@ -113,7 +113,6 @@ endchoice > > config KASAN_STACK_ENABLE > bool "Enable stack instrumentation (unsafe)" if CC_IS_CLANG && !COMPILE_TEST > - depends on KASAN > help > The LLVM stack address sanitizer has a know problem that > causes excessive stack usage in a lot of functions, see > @@ -134,7 +133,7 @@ config KASAN_STACK > > config KASAN_S390_4_LEVEL_PAGING > bool "KASan: use 4-level paging" > - depends on KASAN && S390 > + depends on S390 > help > Compiling the kernel with KASan disables automatic 3-level vs > 4-level paging selection. 3-level paging is used by default (up > @@ -151,7 +150,7 @@ config KASAN_SW_TAGS_IDENTIFY > > config KASAN_VMALLOC > bool "Back mappings in vmalloc space with real shadow memory" > - depends on KASAN && HAVE_ARCH_KASAN_VMALLOC > + depends on HAVE_ARCH_KASAN_VMALLOC > help > By default, the shadow region for vmalloc space is the read-only > zero page. This means that KASAN cannot detect errors involving > @@ -164,8 +163,10 @@ config KASAN_VMALLOC > > config TEST_KASAN > tristate "Module for testing KASAN for bug detection" > - depends on m && KASAN > + depends on m > help > This is a test module doing various nasty things like > out of bounds accesses, use after free. It is useful for testing > kernel debugging features like KASAN. > + > +endif # KASAN > -- > 2.27.0.212.ge8ba1cc988-goog > Reviewed-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx>