mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 02:21:52 +09:00
i40evf: check rings before freeing resources
[ Upstream commit fdb47ae87a ]
If the driver gets unloaded during reset recovery, it's possible
that it will attempt to free resources when they're already free.
Add a check to make sure that the Tx and Rx rings actually exist
before dereferencing them to free resources.
Change-ID: I4d2b7e9ede49f634d421a4c5deaa5446bc755eee
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
796adc8527
commit
0af31973b5
@@ -1864,6 +1864,9 @@ void i40evf_free_all_tx_resources(struct i40evf_adapter *adapter)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!adapter->tx_rings)
|
||||
return;
|
||||
|
||||
for (i = 0; i < adapter->num_active_queues; i++)
|
||||
if (adapter->tx_rings[i]->desc)
|
||||
i40evf_free_tx_resources(adapter->tx_rings[i]);
|
||||
@@ -1932,6 +1935,9 @@ void i40evf_free_all_rx_resources(struct i40evf_adapter *adapter)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!adapter->rx_rings)
|
||||
return;
|
||||
|
||||
for (i = 0; i < adapter->num_active_queues; i++)
|
||||
if (adapter->rx_rings[i]->desc)
|
||||
i40evf_free_rx_resources(adapter->rx_rings[i]);
|
||||
|
||||
Reference in New Issue
Block a user