This mirrors commit e9c38ceba8d9 ("ARM: 8455/1: define __BUG as asm(BUG_INSTR) without CONFIG_BUG") to make the behavior of arm64 consistent with arm and x86, and avoids lots of warnings in randconfig builds, such as:
kernel/seccomp.c: In function '__seccomp_filter': kernel/seccomp.c:666:1: error: no return statement in function returning non-void [-Werror=return-type] Signed-off-by: Arnd Bergmann <a...@arndb.de> --- arch/arm64/include/asm/bug.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/arch/arm64/include/asm/bug.h b/arch/arm64/include/asm/bug.h index 561190d15881..461751429fc3 100644 --- a/arch/arm64/include/asm/bug.h +++ b/arch/arm64/include/asm/bug.h @@ -20,9 +20,10 @@ #include <asm/brk-imm.h> -#ifdef CONFIG_GENERIC_BUG #define HAVE_ARCH_BUG +#ifdef CONFIG_GENERIC_BUG + #ifdef CONFIG_DEBUG_BUGVERBOSE #define _BUGVERBOSE_LOCATION(file, line) __BUGVERBOSE_LOCATION(file, line) #define __BUGVERBOSE_LOCATION(file, line) \ @@ -57,6 +58,14 @@ _BUGVERBOSE_LOCATION(__FILE__, __LINE__) \ #define __WARN_TAINT(taint) _BUG_FLAGS(BUGFLAG_TAINT(taint)) +#else + +#define BUG() do { \ + asm volatile("brk %[imm]" \ + :: [imm] "i" (BUG_BRK_IMM)); \ + unreachable(); \ +} while (0) + #endif /* ! CONFIG_GENERIC_BUG */ #include <asm-generic/bug.h> -- 2.9.0