diff options
author | Mitch A Williams <mitch.a.williams@intel.com> | 2014-12-09 08:53:05 +0000 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2015-01-13 11:47:42 -0800 |
commit | 37dfdf373ce98a7b9fe99478bc40ffaef2ea5eee (patch) | |
tree | 8092558cbbdddd0e9cd89b0905c9cb02d6d58fda /drivers/net/ethernet/intel | |
parent | 53d0b3ae2590bbd15620ce905c05320ed9cfed1a (diff) | |
download | linux-stable-37dfdf373ce98a7b9fe99478bc40ffaef2ea5eee.tar.gz linux-stable-37dfdf373ce98a7b9fe99478bc40ffaef2ea5eee.tar.bz2 linux-stable-37dfdf373ce98a7b9fe99478bc40ffaef2ea5eee.zip |
i40evf: remove leftover VLAN filters
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 <mitch.a.williams@intel.com>
Acked-by: Shannon Nelson <shannon.nelson@intel.com>
Tested-by: Jim Young <james.m.young@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel')
-rw-r--r-- | drivers/net/ethernet/intel/i40evf/i40evf_main.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c index d3392569485c..994ae4e782d4 100644 --- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c +++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c @@ -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); |