[BUG] CONFIG_KMSAN breaks objtool and building of the kernel

6 views
Skip to first unread message

Dmitry Voytik

unread,
Jun 16, 2026, 6:14:55 PM (13 days ago) Jun 16
to gli...@google.com, jpoi...@kernel.org, kasa...@googlegroups.com, linux-...@vger.kernel.org, pet...@infradead.org
Enabling CONFIG_KMSAN=y triggers the following build error:
make LLVM=1 -j(nproc)
SYNC include/config/auto.conf
DESCEND objtool
INSTALL libsubcmd_headers
LD vmlinux.o
vmlinux.o: warning: objtool: intel_pt_interrupt+0xde9: undefined stack state
vmlinux.o: warning: objtool: folio_zero_user+0x7cc: undefined stack state
vmlinux.o: error: objtool: intel_pt_interrupt+0xde4: unknown cfa base reg -1
make[2]: *** [scripts/Makefile.vmlinux_o:76: vmlinux.o] Error 255
make[2]: *** Deleting file 'vmlinux.o'

↪ git log --oneline | head -n1
062871f1371b (HEAD -> master, origin/master, origin/HEAD) Merge tag
'pinctrl-v7.1-3' of
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl

↪ clang --version
clang version 22.1.6
Target: x86_64-pc-linux-gnu

Please let me know if you need my .config (basically, it's the default
Arch Linux config + make oldconfg)

--
Best Regards,
Dmitry Voytik.
voy...@gmail.com

Peter Zijlstra

unread,
Jun 17, 2026, 3:48:35 AM (13 days ago) Jun 17
to Dmitry Voytik, gli...@google.com, jpoi...@kernel.org, kasa...@googlegroups.com, linux-...@vger.kernel.org
Using v7.1-2765-g6b5a2b7d9bc1, clang-22.1.0 (debian) and defconfig+KMSAN, I
cannot reproduce :/

Dmitry Voytik

unread,
Jun 17, 2026, 2:47:44 PM (13 days ago) Jun 17
to Peter Zijlstra, gli...@google.com, jpoi...@kernel.org, kasa...@googlegroups.com, linux-...@vger.kernel.org
Hi Peter,
Thanks for double checking that.
Indeed, defconfig + KMSAN is OK.

It took me quite some time to narrow down the following combinations:
defconfig + CONFIG_KMSAN + CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT
defconfig + CONFIG_KMSAN + CONFIG_DEBUG_INFO_DWARF4
defconfig + CONFIG_KMSAN + CONFIG_DEBUG_INFO_DWARF5

make mrproper
make LLVM=1 defconfig
./scripts/config -e CONFIG_KMSAN -e CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT
make LLVM=1 olddefconfig
make LLVM=1 -j(nproc) vmlinux

vmlinux.o: warning: objtool: folio_zero_user+0x801: undefined stack state
vmlinux.o: error: objtool: folio_zero_user+0x801: unknown CFA base reg -1
make[2]: *** [scripts/Makefile.vmlinux_o:76: vmlinux.o] Error 255
make[2]: *** Deleting file 'vmlinux.o'
make[1]: *** [/home/voyt/p/linux/Makefile:1326: vmlinux_o] Error 2
make: *** [Makefile:248: __sub-make] Error 2

Alexander Potapenko

unread,
Jun 18, 2026, 4:46:44 AM (12 days ago) Jun 18
to Dmitry Voytik, Peter Zijlstra, jpoi...@kernel.org, kasa...@googlegroups.com, linux-...@vger.kernel.org
I could reproduce it on both 7.0 and 7.1, but it seems to be just
regular register pressure (caused by KMSAN instrumentation), not a
compiler bug.
Reply all
Reply to author
Forward
0 new messages