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 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 #include 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"... :)