Skip to contentSkip to conversation

Patch "[PATCH 008/135] i40evf: check rings before freeing resources" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Sep 9, 2016

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

[PATCH 008/135] i40evf: check rings before freeing resources

to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
0008-i40evf-check-rings-before-freeing-resources.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From a8cad39850bbbd03834ce1c1d21603358f7651fd Mon Sep 17 00:00:00 2001

From: Mitch Williams <[email protected]>
Date: Thu, 19 Nov 2015 11:34:18 -0800
Subject: [PATCH 008/135] i40evf: check rings before freeing resources

[ Upstream commit fdb47ae87af537b24977a03bc69cfe1c5c55ca62 ]

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
---
 drivers/net/ethernet/intel/i40evf/i40evf_main.c |    6 ++++++
 1 file changed, 6 insertions(+)
drivers/net/ethernet/intel/i40evf/i40evf_main.c +6 -0
@@ -1864,6 +1864,9 @@ void i40evf_free_all_tx_resources(struct
 {
 	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
 {
 	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]);

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/0008-i40evf-check-rings-before-freeing-resources.patch queue-4.4/0007-i40e-don-t-add-zero-MAC-filter.patch queue-4.4/0002-i40evf-handle-many-MAC-filters-correctly.patch queue-4.4/0006-i40e-properly-delete-VF-MAC-filters.patch