]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
entry,unwind/deferred: Fix unwind_reset_info() placement
authorPeter Zijlstra <peterz@infradead.org>
Wed, 5 Nov 2025 10:00:14 +0000 (11:00 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Dec 2025 13:02:50 +0000 (14:02 +0100)
commit040ce00735c17b4c30c18c8f36805ba952a447e2
tree7728eeae791fa11bdb6dbb291c18e050d29beec4
parenta1b7235ba4388eacf90ec6cbc1c7697bf77bf44a
entry,unwind/deferred: Fix unwind_reset_info() placement

[ Upstream commit cf76553aaa363620f58a6b6409bf544f4bcfa8de ]

Stephen reported that on KASAN builds he's seeing:

vmlinux.o: warning: objtool: user_exc_vmm_communication+0x15a: call to __kasan_check_read() leaves .noinstr.text section
vmlinux.o: warning: objtool: exc_debug_user+0x182: call to __kasan_check_read() leaves .noinstr.text section
vmlinux.o: warning: objtool: exc_int3+0x123: call to __kasan_check_read() leaves .noinstr.text section
vmlinux.o: warning: objtool: noist_exc_machine_check+0x17a: call to __kasan_check_read() leaves .noinstr.text section
vmlinux.o: warning: objtool: fred_exc_machine_check+0x17e: call to __kasan_check_read() leaves .noinstr.text section

This turns out to be atomic ops from unwind_reset_info() that have
explicit instrumentation. Place unwind_reset_info() in the preceding
instrumentation_begin() section.

Fixes: c6439bfaabf2 ("Merge tag 'trace-deferred-unwind-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Reported-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20251105100014.GY4068168@noisy.programming.kicks-ass.net
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/linux/irq-entry-common.h