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