netpoll: don't dereference NULL dev from np
Subsystems (2)
PATCH 1/1 netpoll: don't dereference NULL dev from np
It looks like the dev in netpoll_poll can be NULL - at lease it's checked at the function beginning. Thus the dev->netde_ops dereference looks dangerous.
Signed-off-by Pavel Emelyanov <[email protected]>
---
net/core/netpoll.c +6 -2
@@ -175,9 +175,13 @@ static void service_arp_queue(struct netpoll_info *npi)void netpoll_poll (struct netpoll *np) {struct net_device *dev = np->dev; -const struct net_device_ops *ops = dev->netdev_ops; +const struct net_device_ops *ops; + +if (!dev || !netif_running (dev)) +return ; -if (!dev || !netif_running (dev) || !ops->ndo_poll_controller) + ops = dev->netdev_ops; +if (!ops->ndo_poll_controller)return ;/* Process pending work on NIC */
From: Pavel Emelyanov <[email protected]>
Date: Mon, 11 May 2009 14:36:35 +0400
Quoted 5 lines
It looks like the dev in
netpoll_pollcan be NULL - at lease it's checked at the function beginning. Thus thedev->netde_opsdereference looks dangerous.Signed-off-by Pavel Emelyanov <[email protected]>
Good catch, probably added by the netdev_ops changes.
Applied, thanks!