Re: baycom_par dereference before check.

From: Chris Wright
Date: Fri Apr 16 2004 - 18:09:06 EST


* Dave Jones (davej@xxxxxxxxxx) wrote:
> On Fri, Apr 16, 2004 at 05:48:57PM -0400, Jeff Garzik wrote:
> > >Good point. Still doesn't strike me as particularly nice though.
> > I would rather just remove the checks completely. The success of any of
> > those checks is a BUG() condition that should never occur.
>
> That works for me too. How about this?
>
> Dave
>
> --- linux-2.6.5/drivers/net/hamradio/baycom_par.c~ 2004-04-16 22:52:35.000000000 +0100
> +++ linux-2.6.5/drivers/net/hamradio/baycom_par.c 2004-04-16 22:52:53.000000000 +0100
> @@ -274,8 +274,8 @@
> struct net_device *dev = (struct net_device *)dev_id;
> struct baycom_state *bc = netdev_priv(dev);
>
> - if (!dev || !bc || bc->hdrv.magic != HDLCDRV_MAGIC)
> - return;
> + BUG_ON(!bc);

If it's adding a constant offset to dev, the bc would be non-NULL in a bug
case, no?

thanks,
-chris
--
Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/