diff mbox series

kasan: add missing Kconfig dependencies

Message ID 20181210205929.3213516-1-arnd@arndb.de
State New
Headers show
Series kasan: add missing Kconfig dependencies | expand

Commit Message

Arnd Bergmann Dec. 10, 2018, 8:58 p.m. UTC
Building with CONFIG_KASAN=y when neither KASAN_GENERIC nor KASAN_SW_TAGS
can be selected leads to a build error:

arch/arm64/mm/kasan_init.c: In function 'kasan_pte_populate':
arch/arm64/mm/kasan_init.c:106:28: error: 'KASAN_SHADOW_INIT' undeclared (first use in this function); did you mean 'KASAN_SHADOW_END'?

We should really only allow enabling KASAN when all its dependencies
are met as it was before the introduction of CONFIG_KASAN_SW_TAGS.

Fixes: b8440cc16515 ("kasan: add CONFIG_KASAN_GENERIC and CONFIG_KASAN_SW_TAGS")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 lib/Kconfig.kasan | 2 ++
 1 file changed, 2 insertions(+)

-- 
2.20.0

Comments

Andrey Konovalov Dec. 10, 2018, 9:14 p.m. UTC | #1
On Mon, Dec 10, 2018 at 9:59 PM Arnd Bergmann <arnd@arndb.de> wrote:
>

> Building with CONFIG_KASAN=y when neither KASAN_GENERIC nor KASAN_SW_TAGS

> can be selected leads to a build error:

>

> arch/arm64/mm/kasan_init.c: In function 'kasan_pte_populate':

> arch/arm64/mm/kasan_init.c:106:28: error: 'KASAN_SHADOW_INIT' undeclared (first use in this function); did you mean 'KASAN_SHADOW_END'?

>

> We should really only allow enabling KASAN when all its dependencies

> are met as it was before the introduction of CONFIG_KASAN_SW_TAGS.

>

> Fixes: b8440cc16515 ("kasan: add CONFIG_KASAN_GENERIC and CONFIG_KASAN_SW_TAGS")

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>


Hi Arnd,

Is this a patch against linux-next? The issue has been addressed by
v13 of the patchset, which is now in the mm tree and should end up in
the linux-next soon AFAIU.

Thanks!

> ---

>  lib/Kconfig.kasan | 2 ++

>  1 file changed, 2 insertions(+)

>

> diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan

> index b5d0cbfce4a1..83286bca2f70 100644

> --- a/lib/Kconfig.kasan

> +++ b/lib/Kconfig.kasan

> @@ -15,6 +15,8 @@ if HAVE_ARCH_KASAN

>

>  config KASAN

>         bool "KASAN: runtime memory debugger"

> +       depends on CC_HAS_KASAN_GENERIC || CC_HAS_KASAN_SW_TAGS

> +       depends on (SLUB && SYSFS) || (SLAB && !DEBUG_SLAB)

>         help

>           Enables KASAN (KernelAddressSANitizer) - runtime memory debugger,

>           designed to find out-of-bounds accesses and use-after-free bugs.

> --

> 2.20.0

>
Arnd Bergmann Dec. 10, 2018, 9:26 p.m. UTC | #2
On Mon, Dec 10, 2018 at 10:15 PM Andrey Konovalov <andreyknvl@google.com> wrote:
>

> On Mon, Dec 10, 2018 at 9:59 PM Arnd Bergmann <arnd@arndb.de> wrote:

> >

> > Building with CONFIG_KASAN=y when neither KASAN_GENERIC nor KASAN_SW_TAGS

> > can be selected leads to a build error:

> >

> > arch/arm64/mm/kasan_init.c: In function 'kasan_pte_populate':

> > arch/arm64/mm/kasan_init.c:106:28: error: 'KASAN_SHADOW_INIT' undeclared (first use in this function); did you mean 'KASAN_SHADOW_END'?

> >

> > We should really only allow enabling KASAN when all its dependencies

> > are met as it was before the introduction of CONFIG_KASAN_SW_TAGS.

> >

> > Fixes: b8440cc16515 ("kasan: add CONFIG_KASAN_GENERIC and CONFIG_KASAN_SW_TAGS")

> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>

>

> Hi Arnd,

>

> Is this a patch against linux-next? The issue has been addressed by

> v13 of the patchset, which is now in the mm tree and should end up in

> the linux-next soon AFAIU.


Yes, I tested on today's linux-next. I'll drop the patch tomorrow then from
my test tree.

       Arnd
Stephen Rothwell Dec. 10, 2018, 10:09 p.m. UTC | #3
Hi Andrey,

On Mon, 10 Dec 2018 22:14:57 +0100 Andrey Konovalov <andreyknvl@google.com> wrote:
>

> Is this a patch against linux-next? The issue has been addressed by

> v13 of the patchset, which is now in the mm tree and should end up in

> the linux-next soon AFAIU.


It may be in the mmots series, but it is not (yet) in the mmotm series
and so won't appear in linux-next today (unless Andrew updates mmotm
soon).

-- 
Cheers,
Stephen Rothwell
diff mbox series

Patch

diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan
index b5d0cbfce4a1..83286bca2f70 100644
--- a/lib/Kconfig.kasan
+++ b/lib/Kconfig.kasan
@@ -15,6 +15,8 @@  if HAVE_ARCH_KASAN
 
 config KASAN
 	bool "KASAN: runtime memory debugger"
+	depends on CC_HAS_KASAN_GENERIC || CC_HAS_KASAN_SW_TAGS
+	depends on (SLUB && SYSFS) || (SLAB && !DEBUG_SLAB)
 	help
 	  Enables KASAN (KernelAddressSANitizer) - runtime memory debugger,
 	  designed to find out-of-bounds accesses and use-after-free bugs.