Messages in this thread | | | Date | Mon, 30 Jul 2007 00:39:31 +0530 (IST) | From | Satyam Sharma <> | Subject | Re: [PATCH] sb1000: prevent a potential NULL pointer dereference in sb1000_dev_ioctl() |
| |
Hi Michael,
On Sun, 29 Jul 2007, Michael Buesch wrote:
> On Sunday 29 July 2007 20:34:46 Satyam Sharma wrote: > > (2) !(dev->flags & IFF_UP) is bogus because the functions of this ioctl > > can (and should) be allowed even when the interface is not up and running. > > Are you _sure_? This function does poke with the device hardware. > It might return crap or even machinecheck when not initialized. > Hardware is probably powered down, if not IFF_UP. (I don't know if that's > the case here, though).
IFF_UP checks if the _interface_ is up -- the hardware / card could still be powered up, but the interface down (ifconfing eth0 down or ip link set eth0 down).
Probably what we want here is netif_device_present()? -- I think that should return true only when the *device* itself is up (as in powered) but the interface itself could be down ...
Let's wait for comments from the netdev people Cc:'ed here, in that case.
> > drivers/net/sb1000.c | 3 --- > > 1 files changed, 0 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/net/sb1000.c b/drivers/net/sb1000.c > > index 1de3eec..f60fe98 100644 > > --- a/drivers/net/sb1000.c > > +++ b/drivers/net/sb1000.c > > @@ -993,9 +993,6 @@ static int sb1000_dev_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) > > unsigned int stats[5]; > > struct sb1000_private *lp = netdev_priv(dev); > > > > - if (!(dev && dev->flags & IFF_UP)) > > - return -ENODEV; > > -
Satyam - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |