From patchwork Sun Sep 26 09:58:06 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kulikov Vasiliy X-Patchwork-Id: 65777 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id EFD09B7100 for ; Sun, 26 Sep 2010 19:59:26 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756737Ab0IZJ6O (ORCPT ); Sun, 26 Sep 2010 05:58:14 -0400 Received: from mail-ey0-f174.google.com ([209.85.215.174]:33648 "EHLO mail-ey0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753135Ab0IZJ6K (ORCPT ); Sun, 26 Sep 2010 05:58:10 -0400 Received: by mail-ey0-f174.google.com with SMTP id 6so1059159eyb.19 for ; Sun, 26 Sep 2010 02:58:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer; bh=YJzfBBgVUORJub1qWSKM65KBxhGvH5VzT0hlh69z6rE=; b=xiWETXDguysEACEw5BIk7qqZ7cg50KCD7QYIX5gGJ2HpxWbkJad6+Uc4KYgLNli8Wx 4ARD1ILRevh9cP08DwDPwQy+04R1gBBW5GKAz4UDPwBzJleie31KOfCeuPYMWxmQzQr2 dO07RDp6be/FzaB6YqogsSD/M8Y4wJWQMeNro= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; b=dfqH0yRq3UykWpExd6Wjdw3ay5use5IaKDnSKR8TkryrultsUVCQiXXz/GeUNQhsyN Uovnki8v/XoW2ec0mM2mQUHSVQiBWjiMuDr/y/yxfL4cTEGRpmLRoPcy/vzS1mxn+4qx 49JePenLtOk370pFiQ20L4cwO2Vr3OkSge7RM= Received: by 10.213.19.80 with SMTP id z16mr2000497eba.6.1285495089747; Sun, 26 Sep 2010 02:58:09 -0700 (PDT) Received: from localhost ([91.78.209.69]) by mx.google.com with ESMTPS id v8sm6404045eeh.20.2010.09.26.02.58.08 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 26 Sep 2010 02:58:09 -0700 (PDT) From: Vasiliy Kulikov To: kernel-janitors@vger.kernel.org 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 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> X-Mailer: git-send-email 1.7.0.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: 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;