Commit 5097a69d authored by Alexey Dobriyan's avatar Alexey Dobriyan Committed by Andrew Morton
Browse files

extract and use FILE_LINE macro

Extract nifty FILE_LINE useful for printk style debugging:

	printk("%s\n", FILE_LINE);

It should not be used en mass probably because __FILE__ string literals
can be merged while FILE_LINE's won't. But for debugging it is what
the doctor ordered.

Don't add leading and trailing underscores, they're painful to type. 
Trust me, I've tried both versions.

Link: https://lkml.kernel.org/r/ebf12ac4-5a61-4b12-b8b0-1253eb371332@p183


Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent c37e56ca
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -643,7 +643,7 @@ __FORTIFY_INLINE bool fortify_memcpy_chk(__kernel_size_t size,
				     __q_size_field, #op),		\
		  #op ": detected field-spanning write (size %zu) of single %s (size %zu)\n", \
		  __fortify_size,					\
		  "field \"" #p "\" at " __FILE__ ":" __stringify(__LINE__), \
		  "field \"" #p "\" at " FILE_LINE,			\
		  __p_size_field);					\
	__underlying_##op(p, q, __fortify_size);			\
})
+2 −0
Original line number Diff line number Diff line
@@ -9,4 +9,6 @@
#define __stringify_1(x...)	#x
#define __stringify(x...)	__stringify_1(x)

#define FILE_LINE	__FILE__ ":" __stringify(__LINE__)

#endif	/* !__LINUX_STRINGIFY_H */
+1 −2
Original line number Diff line number Diff line
@@ -77,8 +77,7 @@ struct timer_list {
		.entry = { .next = TIMER_ENTRY_STATIC },	\
		.function = (_function),			\
		.flags = (_flags),				\
		__TIMER_LOCKDEP_MAP_INITIALIZER(		\
			__FILE__ ":" __stringify(__LINE__))	\
		__TIMER_LOCKDEP_MAP_INITIALIZER(FILE_LINE)	\
	}

#define DEFINE_TIMER(_name, _function)				\
+4 −5
Original line number Diff line number Diff line
@@ -29,9 +29,8 @@ enum { HPI_DEBUG_LEVEL_ERROR = 0, /* always log errors */
   the start of each message, eg see linux kernel hpios.h */

#ifdef SOURCEFILE_NAME
#undef FILE_LINE
#define FILE_LINE  SOURCEFILE_NAME ":" __stringify(__LINE__) " "
#else
#define FILE_LINE  __FILE__ ":" __stringify(__LINE__) " "
#endif

#define HPI_DEBUG_ASSERT(expression) \
@@ -46,7 +45,7 @@ enum { HPI_DEBUG_LEVEL_ERROR = 0, /* always log errors */
	do { \
		if (hpi_debug_level >= HPI_DEBUG_LEVEL_##level) { \
			printk(HPI_DEBUG_FLAG_##level \
			FILE_LINE  __VA_ARGS__); \
			FILE_LINE " " __VA_ARGS__); \
		} \
	} while (0)

@@ -70,7 +69,7 @@ void hpi_debug_data(u16 *pdata, u32 len);
	do { \
		if (hpi_debug_level >= HPI_DEBUG_LEVEL_##level) { \
			hpi_debug_message(phm, HPI_DEBUG_FLAG_##level \
				FILE_LINE __stringify(level)); \
				FILE_LINE " " __stringify(level)); \
		} \
	} while (0)