i40evf: remove leftover VLAN filters
authorMitch A Williams <[email protected]>
Tue, 9 Dec 2014 08:53:05 +0000 (08:53 +0000)
committerJeff Kirsher <[email protected]>
Tue, 13 Jan 2015 19:47:42 +0000 (11:47 -0800)
If we're using VLANs and communications with the PF fail during
shutdown, we will leak memory because not all of the VLAN filters will
be removed. To eliminate this possibility, go through the list again
right before the module is removed and delete any leftover entries.

Change-ID: Id3b5315c47ca0a61ae123a96ff345d010bc41aed
Signed-off-by: Mitch Williams <[email protected]>
Acked-by: Shannon Nelson <[email protected]>
Tested-by: Jim Young <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
drivers/net/ethernet/intel/i40evf/i40evf_main.c

index d3392569485c75ad3392db90bdef962bf4af4a27..994ae4e782d43504de162d97f272aa0cc12f16b6 100644 (file)
@@ -2462,6 +2462,10 @@ static void i40evf_remove(struct pci_dev *pdev)
                list_del(&f->list);
                kfree(f);
        }
+       list_for_each_entry_safe(f, ftmp, &adapter->vlan_filter_list, list) {
+               list_del(&f->list);
+               kfree(f);
+       }
 
        free_netdev(netdev);