arch/um/include/asm/kasan.h:29:2: error: UML does not work in KASAN_INLINE mode with STATIC_LINK enabled!

From: kernel test robot

Date: Fri Nov 28 2025 - 15:20:36 EST


Hi Sabyrzhan,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 6cf62f0174de64e4161e301bb0ed52e198ce25dc
commit: 1e338f4d99e6814ede16bad1db1cc463aad8032c kasan: introduce ARCH_DEFER_KASAN and unify static key across modes
date: 10 weeks ago
config: um-randconfig-r063-20251129 (https://download.01.org/0day-ci/archive/20251129/202511290451.x9GZVJ1l-lkp@xxxxxxxxx/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project b3428bb966f1de8aa48375ffee0eba04ede133b7)
rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251129/202511290451.x9GZVJ1l-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511290451.x9GZVJ1l-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

In file included from arch/um/kernel/asm-offsets.c:1:
In file included from arch/x86/um/shared/sysdep/kernel-offsets.h:5:
In file included from include/linux/crypto.h:18:
In file included from include/linux/slab.h:260:
In file included from include/linux/kasan.h:21:
>> arch/um/include/asm/kasan.h:29:2: error: UML does not work in KASAN_INLINE mode with STATIC_LINK enabled!
29 | #error UML does not work in KASAN_INLINE mode with STATIC_LINK enabled!
| ^
In file included from arch/um/kernel/asm-offsets.c:1:
In file included from arch/x86/um/shared/sysdep/kernel-offsets.h:7:
In file included from include/linux/audit.h:13:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:98:11: warning: array index 3 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
98 | return (set->sig[3] | set->sig[2] |
| ^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
24 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/um/kernel/asm-offsets.c:1:
In file included from arch/x86/um/shared/sysdep/kernel-offsets.h:7:
In file included from include/linux/audit.h:13:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:98:25: warning: array index 2 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
98 | return (set->sig[3] | set->sig[2] |
| ^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
24 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/um/kernel/asm-offsets.c:1:
In file included from arch/x86/um/shared/sysdep/kernel-offsets.h:7:
In file included from include/linux/audit.h:13:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:99:4: warning: array index 1 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
99 | set->sig[1] | set->sig[0]) == 0;
| ^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
24 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/um/kernel/asm-offsets.c:1:
In file included from arch/x86/um/shared/sysdep/kernel-offsets.h:7:
In file included from include/linux/audit.h:13:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:101:11: warning: array index 1 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
101 | return (set->sig[1] | set->sig[0]) == 0;
| ^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
24 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/um/kernel/asm-offsets.c:1:
In file included from arch/x86/um/shared/sysdep/kernel-offsets.h:7:
In file included from include/linux/audit.h:13:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:114:11: warning: array index 3 is past the end of the array (that has type 'const unsigned long[1]') [-Warray-bounds]
114 | return (set1->sig[3] == set2->sig[3]) &&
| ^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
24 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/um/kernel/asm-offsets.c:1:
In file included from arch/x86/um/shared/sysdep/kernel-offsets.h:7:
In file included from include/linux/audit.h:13:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:114:27: warning: array index 3 is past the end of the array (that has type 'const unsigned long[1]') [-Warray-bounds]
114 | return (set1->sig[3] == set2->sig[3]) &&
| ^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
24 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/um/kernel/asm-offsets.c:1:
In file included from arch/x86/um/shared/sysdep/kernel-offsets.h:7:
In file included from include/linux/audit.h:13:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:115:5: warning: array index 2 is past the end of the array (that has type 'const unsigned long[1]') [-Warray-bounds]
115 | (set1->sig[2] == set2->sig[2]) &&
| ^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
24 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/um/kernel/asm-offsets.c:1:
In file included from arch/x86/um/shared/sysdep/kernel-offsets.h:7:
In file included from include/linux/audit.h:13:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:115:21: warning: array index 2 is past the end of the array (that has type 'const unsigned long[1]') [-Warray-bounds]
115 | (set1->sig[2] == set2->sig[2]) &&
| ^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
24 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/um/kernel/asm-offsets.c:1:
In file included from arch/x86/um/shared/sysdep/kernel-offsets.h:7:
In file included from include/linux/audit.h:13:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:116:5: warning: array index 1 is past the end of the array (that has type 'const unsigned long[1]') [-Warray-bounds]
116 | (set1->sig[1] == set2->sig[1]) &&
| ^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
24 | unsigned long sig[_NSIG_WORDS];


vim +29 arch/um/include/asm/kasan.h

27
28 #if defined(CONFIG_STATIC_LINK) && defined(CONFIG_KASAN_INLINE)
> 29 #error UML does not work in KASAN_INLINE mode with STATIC_LINK enabled!
30 #endif
31 #else
32 static inline void kasan_init(void) { }
33 #endif /* CONFIG_KASAN */
34

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki