Commit 66e94df0 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

bugs/LoongArch: Pass in 'cond_str' to __BUG_ENTRY()



Pass in the condition string from __WARN_FLAGS(), but don't use it yet.

Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
Acked-by: default avatarPeter Zijlstra <peterz@infradead.org>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: Josh Poimboeuf <jpoimboe@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: linux-arch@vger.kernel.org
Link: https://lore.kernel.org/r/20250515124644.2958810-9-mingo@kernel.org
parent 1284579a
Loading
Loading
Loading
Loading
+10 −11
Original line number Diff line number Diff line
@@ -20,9 +20,9 @@
#endif

#ifndef CONFIG_GENERIC_BUG
#define __BUG_ENTRY(flags)
#define __BUG_ENTRY(cond_str, flags)
#else
#define __BUG_ENTRY(flags) 					\
#define __BUG_ENTRY(cond_str, flags)				\
		.pushsection __bug_table, "aw";			\
		.align 2;					\
	10000:	.long 10001f - .;				\
@@ -32,27 +32,26 @@
	10001:
#endif

#define ASM_BUG_FLAGS(flags)					\
	__BUG_ENTRY(flags)					\
#define ASM_BUG_FLAGS(cond_str, flags)				\
	__BUG_ENTRY(cond_str, flags)				\
	break		BRK_BUG;

#define ASM_BUG()	ASM_BUG_FLAGS(0)
#define ASM_BUG()	ASM_BUG_FLAGS("", 0)

#define __BUG_FLAGS(flags, extra)					\
	asm_inline volatile (__stringify(ASM_BUG_FLAGS(flags))		\
			     extra);
#define __BUG_FLAGS(cond_str, flags, extra)			\
	asm_inline volatile (__stringify(ASM_BUG_FLAGS(cond_str, flags)) extra);

#define __WARN_FLAGS(cond_str, flags)				\
do {								\
	instrumentation_begin();				\
	__BUG_FLAGS(BUGFLAG_WARNING|(flags), ANNOTATE_REACHABLE(10001b));\
	__BUG_FLAGS(cond_str, BUGFLAG_WARNING|(flags), ANNOTATE_REACHABLE(10001b));\
	instrumentation_end();					\
} while (0)

#define BUG()							\
do {								\
	instrumentation_begin();				\
	__BUG_FLAGS(0, "");					\
	__BUG_FLAGS("", 0, "");					\
	unreachable();						\
} while (0)