From: Kulikov Vasiliy Date: Sat, 25 Sep 2010 23:58:06 +0000 (+0000) Subject: sgiseeq: use free_netdev(netdev) instead of kfree() X-Git-Tag: v2.6.36-rc6~6^2~10 X-Git-Url: https://bbs.cooldavid.org/git/?a=commitdiff_plain;h=8d879de89807d82bc4cc3e9d73609b874fa9458c;hp=22138d307329e1968fc698821095b87c2fd5de12;p=net-next-2.6.git sgiseeq: use free_netdev(netdev) instead of kfree() Freeing netdev without free_netdev() leads to net, tx leaks. I might lead to dereferencing freed pointer. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) @@ struct net_device* dev; @@ -kfree(dev) +free_netdev(dev) Signed-off-by: David S. Miller --- diff --git a/drivers/net/sgiseeq.c b/drivers/net/sgiseeq.c index cc4bd8c65f8..9265315baa0 100644 --- a/drivers/net/sgiseeq.c +++ b/drivers/net/sgiseeq.c @@ -804,7 +804,7 @@ static int __devinit sgiseeq_probe(struct platform_device *pdev) err_out_free_page: free_page((unsigned long) sp->srings); err_out_free_dev: - kfree(dev); + free_netdev(dev); err_out: return err;