diff options
Diffstat (limited to 'include/linux/kernel.h')
-rw-r--r-- | include/linux/kernel.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 645231c373c8..c0d34420a913 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -480,15 +480,16 @@ do { \ | |||
480 | 480 | ||
481 | #define trace_printk(fmt, args...) \ | 481 | #define trace_printk(fmt, args...) \ |
482 | do { \ | 482 | do { \ |
483 | static const char *trace_printk_fmt \ | ||
484 | __attribute__((section("__trace_printk_fmt"))) = \ | ||
485 | __builtin_constant_p(fmt) ? fmt : NULL; \ | ||
486 | \ | ||
483 | __trace_printk_check_format(fmt, ##args); \ | 487 | __trace_printk_check_format(fmt, ##args); \ |
484 | if (__builtin_constant_p(fmt)) { \ | ||
485 | static const char *trace_printk_fmt \ | ||
486 | __attribute__((section("__trace_printk_fmt"))) = \ | ||
487 | __builtin_constant_p(fmt) ? fmt : NULL; \ | ||
488 | \ | 488 | \ |
489 | if (__builtin_constant_p(fmt)) \ | ||
489 | __trace_bprintk(_THIS_IP_, trace_printk_fmt, ##args); \ | 490 | __trace_bprintk(_THIS_IP_, trace_printk_fmt, ##args); \ |
490 | } else \ | 491 | else \ |
491 | __trace_printk(_THIS_IP_, fmt, ##args); \ | 492 | __trace_printk(_THIS_IP_, fmt, ##args); \ |
492 | } while (0) | 493 | } while (0) |
493 | 494 | ||
494 | extern __printf(2, 3) | 495 | extern __printf(2, 3) |