[PATCH 8/9] staging: slicoss: use free_netdev(netdev) instead of kfree()

Denis Kirjanov dkirjanov at kernel.org
Tue Sep 28 19:23:01 UTC 2010


On 09/28/2010 09:08 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)
> 
> Signed-off-by: Vasiliy Kulikov <segooon at gmail.com>
> ---
>  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 at kernel.org>



More information about the devel mailing list