Messages in this thread | | | Date | Tue, 14 Feb 2023 10:39:26 -0800 | From | Josh Poimboeuf <> | Subject | Re: [PATCH v2 03/24] arm/cpu: Make sure arch_cpu_idle_dead() doesn't return |
| |
On Tue, Feb 14, 2023 at 11:15:23AM +0000, Russell King (Oracle) wrote: > On Mon, Feb 13, 2023 at 11:05:37PM -0800, Josh Poimboeuf wrote: > > arch_cpu_idle_dead() doesn't return. Make that more explicit with a > > BUG(). > > > > BUG() is preferable to unreachable() because BUG() is a more explicit > > failure mode and avoids undefined behavior like falling off the edge of > > the function into whatever code happens to be next. > > This is silly. Just mark the function __noreturn and be done with it. > If the CPU ever executes code past the "b" instruction, it's already > really broken that the extra instructions that BUG() gives will be > meaningless. > > This patch does nothing except add yet more bloat the kernel. > > Sorry, but NAK.
Problem is, the compiler can't read inline asm. So you'd get a "'noreturn' function does return" warning.
We can do an unreachable() instead of a BUG() here if you prefer undefined behavior.
-- Josh
| |