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.
|  |