On Mar 11, 2016 9:19 PM, "Andrew Morton" <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> On Fri, 11 Mar 2016 18:38:47 +0800 kbuild test robot <fengguang.wu@xxxxxxxxx> wrote:
>
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > head: bb17bf337db5c5af7e75ec5916772c9bffcaf981
> > commit: d5e0cb037c3f7a9cc54b9427e0281c7877d62ff3 [11691/11963] mm, kasan: stackdepot implementation. Enable stackdepot for SLAB
> > config: x86_64-randconfig-v0-03111742 (attached as .config)
> > reproduce:
> > git checkout d5e0cb037c3f7a9cc54b9427e0281c7877d62ff3
> > # save the attached .config to linux build tree
> > make ARCH=x86_64
> >
> > All error/warnings (new ones prefixed by >>):
> >
> > mm/kasan/kasan.c: In function 'filter_irq_stacks':
> > >> mm/kasan/kasan.c:429:12: error: dereferencing pointer to incomplete type 'struct stack_trace'
> > if (!trace->nr_entries)
>
> Yeah, that's a bit screwed up. The code needs CONFIG_STACKTRACE but this:
>
> --- a/lib/Kconfig.kasan~mm-kasan-stackdepot-implementation-enable-stackdepot-for-slab-fix-fix
> +++ a/lib/Kconfig.kasan
> @@ -8,6 +8,7 @@ config KASAN
> depends on SLUB_DEBUG || (SLAB && !DEBUG_SLAB)
> select CONSTRUCTORS
> select STACKDEPOT if SLAB
> + select STACKTRACE if SLAB
> help
> Enables kernel address sanitizer - runtime memory debugger,
> designed to find out-of-bounds accesses and use-after-free bugs.
>
> doesn't work because CONFIG_SLAB=n. And I don't think we want to
> enable all this extra stuff for slub/slob/etc.
>
> Over to you, Alexander.
Um, perhaps the code in question should be SLAB-only. I'll send the fix on Monday.