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 645231c373c..c0d34420a91 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -480,15 +480,16 @@ do {									\  #define trace_printk(fmt, args...)					\  do {									\ +	static const char *trace_printk_fmt				\ +		__attribute__((section("__trace_printk_fmt"))) =	\ +		__builtin_constant_p(fmt) ? fmt : NULL;			\ +									\  	__trace_printk_check_format(fmt, ##args);			\ -	if (__builtin_constant_p(fmt)) {				\ -		static const char *trace_printk_fmt			\ -		  __attribute__((section("__trace_printk_fmt"))) =	\ -			__builtin_constant_p(fmt) ? fmt : NULL;		\  									\ +	if (__builtin_constant_p(fmt))					\  		__trace_bprintk(_THIS_IP_, trace_printk_fmt, ##args);	\ -	} else								\ -		__trace_printk(_THIS_IP_, fmt, ##args);		\ +	else								\ +		__trace_printk(_THIS_IP_, fmt, ##args);			\  } while (0)  extern __printf(2, 3)  |