]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/bug: Use BUG_FORMAT for DEBUG_BUGVERBOSE_DETAILED
authorPeter Zijlstra <peterz@infradead.org>
Mon, 10 Nov 2025 09:24:09 +0000 (10:24 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Mon, 24 Nov 2025 19:22:21 +0000 (20:22 +0100)
Since we have an explicit format string, use it for the condition string
instead of frobbing it in the file string.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20251110115758.097401406@infradead.org
arch/x86/include/asm/bug.h
include/asm-generic/bug.h

index 5e63f9952a0c95301994aff691fcc3f7a991e1a4..50b802169a4b40014cf9ecf85279cc9c79714e3b 100644 (file)
        ".popsection\n"                                                 \
        extra
 
+#ifdef CONFIG_DEBUG_BUGVERBOSE_DETAILED
+#define WARN_CONDITION_STR(cond_str) cond_str
+#else
+#define WARN_CONDITION_STR(cond_str) NULL
+#endif
+
 #define _BUG_FLAGS(cond_str, ins, flags, extra)                                \
 do {                                                                   \
        asm_inline volatile(_BUG_FLAGS_ASM(ins, "%c[fmt]", "%c[file]",  \
                                           "%c[line]", "%c[fl]",        \
                                           "%c[size]", extra)           \
-                  : : [fmt] "i" (NULL),                                \
-                      [file] "i" (WARN_CONDITION_STR(cond_str) __FILE__), \
+                  : : [fmt] "i" (WARN_CONDITION_STR(cond_str)),        \
+                      [file] "i" (__FILE__),                           \
                       [line] "i" (__LINE__),                           \
                       [fl] "i" (flags),                                \
                       [size] "i" (sizeof(struct bug_entry)));          \
index 21d2c8f88d498c4e7250e2d51c41cf262c741a1e..e512071216becc3a2a7fecd0e095f0d6ead658cf 100644 (file)
 #define BUG_GET_TAINT(bug)     ((bug)->flags >> 8)
 #endif
 
+#ifndef WARN_CONDITION_STR
 #ifdef CONFIG_DEBUG_BUGVERBOSE_DETAILED
-# define WARN_CONDITION_STR(cond_str) cond_str
+# define WARN_CONDITION_STR(cond_str) "[" cond_str "] "
 #else
 # define WARN_CONDITION_STR(cond_str)
 #endif
+#endif /* WARN_CONDITION_STR */
 
 #ifndef __ASSEMBLY__
 #include <linux/panic.h>
@@ -107,7 +109,7 @@ extern __printf(1, 2) void __warn_printk(const char *fmt, ...);
 #define WARN_ON(condition) ({                                          \
        int __ret_warn_on = !!(condition);                              \
        if (unlikely(__ret_warn_on))                                    \
-               __WARN_FLAGS("["#condition"] ",                         \
+               __WARN_FLAGS(#condition,                                \
                             BUGFLAG_TAINT(TAINT_WARN));                \
        unlikely(__ret_warn_on);                                        \
 })
@@ -117,7 +119,7 @@ extern __printf(1, 2) void __warn_printk(const char *fmt, ...);
 #define WARN_ON_ONCE(condition) ({                                     \
        int __ret_warn_on = !!(condition);                              \
        if (unlikely(__ret_warn_on))                                    \
-               __WARN_FLAGS("["#condition"] ",                         \
+               __WARN_FLAGS(#condition,                                \
                             BUGFLAG_ONCE |                             \
                             BUGFLAG_TAINT(TAINT_WARN));                \
        unlikely(__ret_warn_on);                                        \