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 <[email protected]>
> ---
> 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 <[email protected]>
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel