]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
tracing: Remove local variable for argument detection from trace_printk()
authorQian-Yu Lin <tiffany019230@gmail.com>
Sat, 2 May 2026 07:55:34 +0000 (15:55 +0800)
committerSteven Rostedt <rostedt@goodmis.org>
Thu, 21 May 2026 22:03:06 +0000 (18:03 -0400)
commit04fcbcf2dfe6a3fadc50b0f925c0b757386b82f8
treecf41715dff04d960c2cb130ac845bcf137a0ce63
parent9764e731ef6abacdfc00d914061d4d900e302670
tracing: Remove local variable for argument detection from trace_printk()

The trace_printk() macro uses a local variable _______STR to detect
whether variadic arguments are present. This name can shadow outer
variables.

Replace the local variable with sizeof applied directly to the
stringified arguments:

  if (sizeof __stringify((__VA_ARGS__)) > 3)

This eliminates the shadowing risk entirely without introducing
any additional includes or local variables.

Verified with objdump on samples/trace_printk that all four cases
branch correctly: __trace_bputs, __trace_puts, __trace_bprintk,
and __trace_printk.

Link: https://patch.msgid.link/20260502075535.34997-1-tiffany019230@gmail.com
Suggested-by: David Laight <david.laight.linux@gmail.com>
Signed-off-by: Qian-Yu Lin <tiffany019230@gmail.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/linux/trace_printk.h