Re: [RFC PATCH v1 08/16] unwind_user: Enable archs that save RA/FP in other registers

From
Josh Poimboeuf <jpoimboe@kernel.org>
Date
2025-07-17 07:24:50
Also in
bpf, lkml
Reply to
Steven Rostedt, 2025-07-17
On Wed, Jul 16, 2025 at 11:57:51PM -0400, Steven Rostedt wrote:
On Wed, 16 Jul 2025 19:01:06 -0700
Josh Poimboeuf [off-list ref] wrote:
quoted
quoted
+		if (unwind_user_get_reg(&ra, frame->ra.regnum))
+			goto done;
+		break;
+	default:
+		WARN_ON_ONCE(1);
+		goto done;  
The default case will never happen, can we make it a BUG()?
Is this really serious enough to crash the system? WARN_ON_ONCE() *is* for
things that will never happen.

The only time I ever use BUG() is if it's too dangerous to continue (like a
function graph trampoline that gets corrupted and has no place to return
to). In general, usage of BUG() should be avoided.
This is an unreachable code path, but __builtin_unreachable() is crap
due to undefined behavior.  IMO, BUG() for unreachable paths is cleaner
than WARN_ON_ONCE(), but it doesn't matter much either way I suppose.

-- 
Josh
Thread (42 messages) 42 messages, 4 authors, last reply 2025-08-01
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help