[PATCH 09/14] bugs/s390: Pass in 'cond_str' to __EMIT_BUG()
From: Ingo Molnar
Date: Thu Mar 27 2025 - 06:32:20 EST
Pass in the condition string from __WARN_FLAGS(), but do not
concatenate it with __FILE__, because the __bug_table is
apparently indexed by 16 bits and increasing string size
overflows it on defconfig builds.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Heiko Carstens <hca@xxxxxxxxxxxxx>
Cc: Vasily Gorbik <gor@xxxxxxxxxxxxx>
Cc: Alexander Gordeev <agordeev@xxxxxxxxxxxxx>
Cc: Christian Borntraeger <borntraeger@xxxxxxxxxxxxx>
Cc: Sven Schnelle <svens@xxxxxxxxxxxxx>
Cc: linux-s390@xxxxxxxxxxxxxxx
Cc: <linux-arch@xxxxxxxxxxxxxxx>
---
arch/s390/include/asm/bug.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/s390/include/asm/bug.h b/arch/s390/include/asm/bug.h
index ef3e495ec1e3..30f8785a01f5 100644
--- a/arch/s390/include/asm/bug.h
+++ b/arch/s390/include/asm/bug.h
@@ -8,7 +8,7 @@
#ifdef CONFIG_DEBUG_BUGVERBOSE
-#define __EMIT_BUG(x) do { \
+#define __EMIT_BUG(cond_str, x) do { \
asm_inline volatile( \
"0: mc 0,0\n" \
".section .rodata.str,\"aMS\",@progbits,1\n" \
@@ -27,7 +27,7 @@
#else /* CONFIG_DEBUG_BUGVERBOSE */
-#define __EMIT_BUG(x) do { \
+#define __EMIT_BUG(cond_str, x) do { \
asm_inline volatile( \
"0: mc 0,0\n" \
".section __bug_table,\"aw\"\n" \
@@ -42,12 +42,12 @@
#endif /* CONFIG_DEBUG_BUGVERBOSE */
#define BUG() do { \
- __EMIT_BUG(0); \
+ __EMIT_BUG("", 0); \
unreachable(); \
} while (0)
#define __WARN_FLAGS(cond_str, flags) do { \
- __EMIT_BUG(BUGFLAG_WARNING|(flags)); \
+ __EMIT_BUG(cond_str, BUGFLAG_WARNING|(flags)); \
} while (0)
#define WARN_ON(x) ({ \
--
2.45.2