]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
tracing: Fix CFI violation in probestub being called by tprobes
authorEva Kurchatova <eva.kurchatova@virtuozzo.com>
Wed, 3 Jun 2026 15:31:42 +0000 (18:31 +0300)
committerSteven Rostedt <rostedt@goodmis.org>
Thu, 4 Jun 2026 09:03:56 +0000 (05:03 -0400)
commit0652a3daa78723f955b1ebeb621665ce72bec53e
treeaca0bd8b26a5c6361fa1537431c3b337888e895f
parente43ffb69e0438cddd72aaa30898b4dc446f664f8
tracing: Fix CFI violation in probestub being called by tprobes

The probestub is a function to allow tprobes to hook to a tracepoint to
gain access to its parameters. The function itself is only referenced by
the tracepoint structure which lives in the __tracepoint section. objtool
explicitly ignores that section and when processing functions in the
kernel, if it detects one that has no references it will seal it to have
its ENDBR stripped on boot up.

This means when a tprobe is attached to the sched_wakeup tracepoint, when it
is triggered it will call __probestub_sched_wakeup and due to the missing
ENDBR on a CFI-enabled machine it will take a #CP exception.

Fix this by adding CFI_NOSEAL annotation to probestub declaration.

Cc: stable@vger.kernel.org
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Link: https://patch.msgid.link/20260603153147.573589-1-eva.kurchatova@virtuozzo.com
Fixes: d5173f753750 ("objtool: Exclude __tracepoints data from ENDBR checks")
Signed-off-by: Eva Kurchatova <eva.kurchatova@virtuozzo.com>
[ Updated change log ]
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/linux/tracepoint.h