arch/x86/kernel/process.c | 2 +- arch/x86/kernel/reboot.c | 2 +- arch/x86/kvm/svm/sev.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
The following commit has been merged into the objtool/core branch of tip:
Commit-ID: 2190966fbc14ca2cd4ea76eefeb96a47d8e390df
Gitweb: https://git.kernel.org/tip/2190966fbc14ca2cd4ea76eefeb96a47d8e390df
Author: Peter Zijlstra <peterz@infradead.org>
AuthorDate: Thu, 28 Nov 2024 10:39:02 +01:00
Committer: Peter Zijlstra <peterz@infradead.org>
CommitterDate: Mon, 02 Dec 2024 12:01:43 +01:00
x86: Convert unreachable() to BUG()
Avoid unreachable() as it can (and will in the absence of UBSAN)
generate fallthrough code. Use BUG() so we get a UD2 trap (with
unreachable annotation).
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://lore.kernel.org/r/20241128094312.028316261@infradead.org
---
arch/x86/kernel/process.c | 2 +-
arch/x86/kernel/reboot.c | 2 +-
arch/x86/kvm/svm/sev.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
index f63f8fd..15507e7 100644
--- a/arch/x86/kernel/process.c
+++ b/arch/x86/kernel/process.c
@@ -838,7 +838,7 @@ void __noreturn stop_this_cpu(void *dummy)
#ifdef CONFIG_SMP
if (smp_ops.stop_this_cpu) {
smp_ops.stop_this_cpu();
- unreachable();
+ BUG();
}
#endif
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index 6159228..dc1dd3f 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -883,7 +883,7 @@ static int crash_nmi_callback(unsigned int val, struct pt_regs *regs)
if (smp_ops.stop_this_cpu) {
smp_ops.stop_this_cpu();
- unreachable();
+ BUG();
}
/* Assume hlt works */
diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c
index 943bd07..fe6cc76 100644
--- a/arch/x86/kvm/svm/sev.c
+++ b/arch/x86/kvm/svm/sev.c
@@ -3820,7 +3820,7 @@ next_range:
goto next_range;
}
- unreachable();
+ BUG();
}
static int __sev_snp_update_protected_guest_state(struct kvm_vcpu *vcpu)
On Mon, Dec 02, 2024 at 11:15:21AM -0000, tip-bot2 for Peter Zijlstra wrote: > The following commit has been merged into the objtool/core branch of tip: > > Commit-ID: 2190966fbc14ca2cd4ea76eefeb96a47d8e390df > Gitweb: https://git.kernel.org/tip/2190966fbc14ca2cd4ea76eefeb96a47d8e390df > Author: Peter Zijlstra <peterz@infradead.org> > AuthorDate: Thu, 28 Nov 2024 10:39:02 +01:00 > Committer: Peter Zijlstra <peterz@infradead.org> > CommitterDate: Mon, 02 Dec 2024 12:01:43 +01:00 > > x86: Convert unreachable() to BUG() > > Avoid unreachable() as it can (and will in the absence of UBSAN) > generate fallthrough code. Use BUG() so we get a UD2 trap (with > unreachable annotation). > > Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> > Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> > Link: https://lore.kernel.org/r/20241128094312.028316261@infradead.org Urgh, one got lost: vmlinux.o: warning: objtool: page_fault_oops() falls through to next function is_prefetch() --- arch/x86/mm/fault.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index e6c469b323cc..ac52255fab01 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@ -678,7 +678,7 @@ page_fault_oops(struct pt_regs *regs, unsigned long error_code, ASM_CALL_ARG3, , [arg1] "r" (regs), [arg2] "r" (address), [arg3] "r" (&info)); - unreachable(); + BUG(); } #endif
The following commit has been merged into the objtool/core branch of tip:
Commit-ID: 41a1e976623eb430f7b5a8619d3810b44e6235ad
Gitweb: https://git.kernel.org/tip/41a1e976623eb430f7b5a8619d3810b44e6235ad
Author: Peter Zijlstra <peterz@infradead.org>
AuthorDate: Mon, 16 Dec 2024 11:08:12 +01:00
Committer: Peter Zijlstra <peterz@infradead.org>
CommitterDate: Tue, 17 Dec 2024 17:47:21 +01:00
x86/mm: Convert unreachable() to BUG()
Commit 2190966fbc14 ("x86: Convert unreachable() to BUG()") missed
one.
And after commit 06e24745985c ("objtool: Remove
annotate_{,un}reachable()") the invalid use of unreachable()
(rightfully) triggers warnings:
vmlinux.o: warning: objtool: page_fault_oops() falls through to next function is_prefetch()
Fixes: 2190966fbc14 ("x86: Convert unreachable() to BUG()")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20241216093215.GD12338@noisy.programming.kicks-ass.net
---
arch/x86/mm/fault.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index e6c469b..ac52255 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -678,7 +678,7 @@ page_fault_oops(struct pt_regs *regs, unsigned long error_code,
ASM_CALL_ARG3,
, [arg1] "r" (regs), [arg2] "r" (address), [arg3] "r" (&info));
- unreachable();
+ BUG();
}
#endif
© 2016 - 2026 Red Hat, Inc.