]> www.infradead.org Git - users/hch/misc.git/commitdiff
LoongArch: Convert unreachable() to BUG()
authorTiezhu Yang <yangtiezhu@loongson.cn>
Sat, 8 Mar 2025 05:50:45 +0000 (13:50 +0800)
committerHuacai Chen <chenhuacai@loongson.cn>
Sat, 8 Mar 2025 05:50:45 +0000 (13:50 +0800)
When compiling on LoongArch, there exists the following objtool warning
in arch/loongarch/kernel/machine_kexec.o:

  kexec_reboot() falls through to next function crash_shutdown_secondary()

Avoid using unreachable() as it can (and will in the absence of UBSAN)
generate fall-through code. Use BUG() so we get a "break BRK_BUG" trap
(with unreachable annotation).

Cc: stable@vger.kernel.org # 6.12+
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
arch/loongarch/kernel/machine_kexec.c

index 8ae641dc53bb77b8964c869177aa72976a440a3d..f9381800e291cc2989bc9d6a01a44a049e8191d0 100644 (file)
@@ -126,14 +126,14 @@ void kexec_reboot(void)
        /* All secondary cpus go to kexec_smp_wait */
        if (smp_processor_id() > 0) {
                relocated_kexec_smp_wait(NULL);
-               unreachable();
+               BUG();
        }
 #endif
 
        do_kexec = (void *)reboot_code_buffer;
        do_kexec(efi_boot, cmdline_ptr, systable_ptr, start_addr, first_ind_entry);
 
-       unreachable();
+       BUG();
 }