@@ -100,23 +100,9 @@ void warn_slowpath_fmt(const char *file, const int line, unsigned taint,
100100 const char * fmt , ...);
101101extern __printf (1 , 2 ) void __warn_printk (const char * fmt , ...);
102102
103- #ifndef __WARN_FLAGS
104- #define __WARN () __WARN_printf (TAINT_WARN , NULL )
105- #define __WARN_printf (taint , arg ...) do { \
106- instrumentation_begin (); \
107- warn_slowpath_fmt (__FILE__ , __LINE__ , taint , arg ); \
108- instrumentation_end (); \
109- } while (0 )
110- #else
103+ #ifdef __WARN_FLAGS
111104#define __WARN () __WARN_FLAGS ("", BUGFLAG_TAINT (TAINT_WARN ))
112105
113- #define __WARN_printf (taint , arg ...) do { \
114- instrumentation_begin(); \
115- __warn_printk(arg); \
116- __WARN_FLAGS("", BUGFLAG_NO_CUT_HERE | BUGFLAG_TAINT(taint));\
117- instrumentation_end(); \
118- } while (0)
119-
120106#ifndef WARN_ON
121107#define WARN_ON (condition ) ({ \
122108 int __ret_warn_on = !!(condition ); \
@@ -139,6 +125,27 @@ extern __printf(1, 2) void __warn_printk(const char *fmt, ...);
139125#endif
140126#endif /* __WARN_FLAGS */
141127
128+ #if defined(__WARN_FLAGS ) && !defined(__WARN_printf )
129+ #define __WARN_printf (taint , arg ...) do { \
130+ instrumentation_begin(); \
131+ __warn_printk(arg); \
132+ __WARN_FLAGS("", BUGFLAG_NO_CUT_HERE | BUGFLAG_TAINT(taint));\
133+ instrumentation_end(); \
134+ } while (0)
135+ #endif
136+
137+ #ifndef __WARN_printf
138+ #define __WARN_printf (taint , arg ...) do { \
139+ instrumentation_begin(); \
140+ warn_slowpath_fmt(__FILE__, __LINE__, taint, arg); \
141+ instrumentation_end(); \
142+ } while (0)
143+ #endif
144+
145+ #ifndef __WARN
146+ #define __WARN () __WARN_printf(TAINT_WARN, NULL)
147+ #endif
148+
142149/* used internally by panic.c */
143150
144151#ifndef WARN_ON
0 commit comments