i40evf: null out ring pointers on free
authorMitch Williams <[email protected]>
Wed, 9 Dec 2015 23:50:30 +0000 (15:50 -0800)
committerJeff Kirsher <[email protected]>
Thu, 4 Feb 2016 04:37:06 +0000 (20:37 -0800)
Since we check these ring pointers to make sure we don't double-allocate
or double-free the rings, we had better null them out after we free
them. In very rare cases this can cause a panic if the driver is removed
during reset recovery.

Change-ID: Ib06eb4910a3058275c8f7ec5ef7f45baa4674f96
Signed-off-by: Mitch Williams <[email protected]>
Tested-by: Andrew Bowers <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
drivers/net/ethernet/intel/i40evf/i40evf_main.c

index d1c4335114fc625db2fb78bb8c504fbb5069c71a..81d958422ccf4a51f5556389e5832ac4b8a3ff23 100644 (file)
@@ -1122,7 +1122,9 @@ static void i40evf_free_queues(struct i40evf_adapter *adapter)
        if (!adapter->vsi_res)
                return;
        kfree(adapter->tx_rings);
+       adapter->tx_rings = NULL;
        kfree(adapter->rx_rings);
+       adapter->rx_rings = NULL;
 }
 
 /**