linux-next 20201126 - build error on arm allmodconfig

From: Valdis Klētnieks
Date: Thu Nov 26 2020 - 08:25:32 EST


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@xxxxxxxxxx>
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"... :)

Attachment: pgp3J6mNSJrVj.pgp
Description: PGP signature