Messages in this thread |  | | Date | Sat, 15 Dec 2007 00:12:00 -0600 | | From | Matt Mackall <> | | Subject | Re: [PATCH] Make WARN_ON/WARN_ON_ONCE no-ops when CONFIG_BUG is off |
| |
On Sat, Dec 15, 2007 at 02:04:49PM +0800, Herbert Xu wrote: > On Fri, Dec 14, 2007 at 11:52:18PM -0600, Matt Mackall wrote: > > > > No. The code as written above should reduce to: > > > > if (val == NULL) > > return -EFAULT; > > > > If I hadn't wanted to return -EFAULT in this case, I would have just written: > > > > WARN_ON(val == NULL); > > Well the only reason I introduced > > if (WARN_ON) > > is so that what would otherwise be a BUG_ON condition would have > a chance to get written to disk when invoked from an IRQ handler. > > > I don't want code that was running safely (ie returning -EFAULT) to > > start crashing the system just because I've, say, disabled printk. > > That's creating an obnoxious heisenbug. > > I'm disappointed that it has been used in ways that it shouldn't > have been. > > I suppose we'll have to either introduce a new primitive or just > go back to using BUG_ON.
Seems we haven't yet reached concensus on what an appropriate use for BUG_ON is. There's a fairly large camp who think that there are basically no good reasons to outright crash a machine and that WARN_ON should replace BUG_ON everywhere.
I tend to agree with this position, except when it comes to handling filesystems, where panic is often (but not always) the right thing to do.
-- Mathematics is the supreme nostalgia of our time.
|  |