Message ID | 24105.1606397102@turing-police (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | linux-next 20201126 - build error on arm allmodconfig | expand |
On Thu, Nov 26, 2020 at 08:25:02AM -0500, Valdis Klētnieks wrote: > Seems something is giving it indigestion regarding asmlinkage... > > CC arch/arm/mm/kasan_init.o > In file included from ./include/linux/kasan.h:15, > from arch/arm/mm/kasan_init.c:11: > ./arch/arm/include/asm/kasan.h:26:11: error: expected ';' before 'void' > asmlinkage void kasan_early_init(void); > ^~~~~ > ; > make[2]: *** [scripts/Makefile.build:283: arch/arm/mm/kasan_init.o] Error 1 > make[1]: *** [scripts/Makefile.build:500: arch/arm/mm] Error 2 > make: *** [Makefile:1803: arch/arm] Error 2 > > Git bisect points at: > > commit 2df573d2ca4c1ce6ea33cb7849222f771e759211 > Author: Andrey Konovalov <andreyknvl@google.com> > Date: Tue Nov 24 16:45:08 2020 +1100 > > kasan: shadow declarations only for software modes > > Looks like it's this chunk: > > diff --git a/include/linux/kasan.h b/include/linux/kasan.h > index 59538e795df4..26f2ab92e7ca 100644 > --- a/include/linux/kasan.h > +++ b/include/linux/kasan.h > @@ -11,7 +11,6 @@ struct task_struct; > > #ifdef CONFIG_KASAN > > -#include <linux/pgtable.h> > #include <asm/kasan.h> > > Testing shows putting that #include back in makes it compile correctly, > but it's not obvious why putting that back makes 'asmlinkage' recognized. > > "You are in a twisty little maze of #includes, all different"... :) The real answer is for asm/kasan.h to include linux/linkage.h
On Thu, 26 Nov 2020 14:14:29 +0000, Russell King - ARM Linux admin said:
> The real answer is for asm/kasan.h to include linux/linkage.h
OK... I'll cook up the patch.
On Thu, 26 Nov 2020 14:14:29 +0000, Russell King - ARM Linux admin said:
> The real answer is for asm/kasan.h to include linux/linkage.h
Looking deeper, there's 7 different arch/../asm/kasan.h - are we better off
patching all 7, or having include/linux/kasan.h include it just before
the include of asm/kasan.h?
On Thu, Nov 26, 2020 at 09:22:53AM -0500, Valdis Klētnieks wrote: > On Thu, 26 Nov 2020 14:14:29 +0000, Russell King - ARM Linux admin said: > > > The real answer is for asm/kasan.h to include linux/linkage.h > > Looking deeper, there's 7 different arch/../asm/kasan.h - are we better off > patching all 7, or having include/linux/kasan.h include it just before > the include of asm/kasan.h? I wouldn't like to say definitively - it depends on what the policy now is. However, linux/linage.h is way cheaper than linux/pgtable.h so it probably makes sense for linux/kasan.h to include it given the number of asm/kasan.h headers needing it.
diff --git a/include/linux/kasan.h b/include/linux/kasan.h index 59538e795df4..26f2ab92e7ca 100644 --- a/include/linux/kasan.h +++ b/include/linux/kasan.h @@ -11,7 +11,6 @@ struct task_struct; #ifdef CONFIG_KASAN -#include <linux/pgtable.h> #include <asm/kasan.h> Testing shows putting that #include back in makes it compile correctly,