]> www.infradead.org Git - linux.git/commitdiff
unreachable: Unify
authorPeter Zijlstra <peterz@infradead.org>
Thu, 28 Nov 2024 09:39:01 +0000 (10:39 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Mon, 2 Dec 2024 11:01:43 +0000 (12:01 +0100)
Since barrier_before_unreachable() is empty for !GCC it is trivial to
unify the two definitions. Less is more.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://lore.kernel.org/r/20241128094311.924381359@infradead.org
include/linux/compiler-gcc.h
include/linux/compiler.h

index d0ed9583743fc2855b2291e58f24ac878c9dc4b0..c9b58188ec61e777e2001072380f9ce9e466ecd2 100644 (file)
  */
 #define barrier_before_unreachable() asm volatile("")
 
-/*
- * Mark a position in code as unreachable.  This can be used to
- * suppress control flow warnings after asm blocks that transfer
- * control elsewhere.
- */
-#define unreachable() \
-       do {                                    \
-               annotate_unreachable();         \
-               barrier_before_unreachable();   \
-               __builtin_unreachable();        \
-       } while (0)
-
 #if defined(CONFIG_ARCH_USE_BUILTIN_BSWAP)
 #define __HAVE_BUILTIN_BSWAP32__
 #define __HAVE_BUILTIN_BSWAP64__
index 469a64dd6495fefab2c85ffc279568a657b72660..7be80897a62f738f4850633fd794ffd8c4a8a1db 100644 (file)
@@ -141,12 +141,16 @@ void ftrace_likely_update(struct ftrace_likely_data *f, int val,
 #define __annotate_jump_table
 #endif /* CONFIG_OBJTOOL */
 
-#ifndef unreachable
-# define unreachable() do {            \
+/*
+ * Mark a position in code as unreachable.  This can be used to
+ * suppress control flow warnings after asm blocks that transfer
+ * control elsewhere.
+ */
+#define unreachable() do {             \
        annotate_unreachable();         \
+       barrier_before_unreachable();   \
        __builtin_unreachable();        \
 } while (0)
-#endif
 
 /*
  * KENTRY - kernel entry point