From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vasiliy Kulikov Subject: [PATCH 3/9] sgiseeq: use free_netdev(netdev) instead of kfree() Date: Sun, 26 Sep 2010 13:58:06 +0400 Message-ID: <1285495086-21956-1-git-send-email-segooon@gmail.com> Cc: "David S. Miller" , Eric Dumazet , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , Julia Lawall , Tejun Heo , netdev@vger.kernel.org, linux-kernel@vger.kernel.org To: kernel-janitors@vger.kernel.org Return-path: Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org 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) --- drivers/net/sgiseeq.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/sgiseeq.c b/drivers/net/sgiseeq.c index cc4bd8c..9265315 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; -- 1.7.0.4