[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4C9F5A3B.3070502@kernel.org>
Date: Sun, 26 Sep 2010 18:35:39 +0400
From: Denis Kirjanov <dkirjanov@...nel.org>
To: Vasiliy Kulikov <segooon@...il.com>
CC: kernel-janitors@...r.kernel.org,
Greg Kroah-Hartman <gregkh@...e.de>,
"David S. Miller" <davem@...emloft.net>,
Jiri Pirko <jpirko@...hat.com>, devel@...verdev.osuosl.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 8/9] staging: slicoss: use free_netdev(netdev) instead
of kfree()
On 09/26/2010 01:58 PM, Vasiliy Kulikov wrote:
> 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)
> ---
> Compile tested.
>
> drivers/staging/slicoss/slicoss.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/staging/slicoss/slicoss.c b/drivers/staging/slicoss/slicoss.c
> index 58ff123..18f1103 100644
> --- a/drivers/staging/slicoss/slicoss.c
> +++ b/drivers/staging/slicoss/slicoss.c
> @@ -3233,7 +3233,7 @@ static void __devexit slic_entry_remove(struct pci_dev *pcidev)
> slic_global.num_slic_cards--;
> slic_card_cleanup(card);
> }
> - kfree(dev);
> + free_netdev(dev);
> pci_release_regions(pcidev);
> }
>
Acked-by: Denis Kirjanov <dkirjanov@...nel.org>
Good catch, thanks!
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists