diff mbox series

[v2,6/7] fm10k: Use smp_rmb rather than read_barrier_depends

Message ID 1510938349-17608-7-git-send-email-brking@linux.vnet.ibm.com
State Accepted
Delegated to: Jeff Kirsher
Headers show
Series intel: Use smp_rmb rather than read_barrier_depends | expand

Commit Message

Brian King Nov. 17, 2017, 5:05 p.m. UTC
The original issue being fixed in this patch was seen with the ixgbe
driver, but the same issue exists with fm10k as well, as the code is
very similar. read_barrier_depends is not sufficient to ensure
loads following it are not speculatively loaded out of order
by the CPU, which can result in stale data being loaded, causing
potential system crashes.

Cc: stable<stable@vger.kernel.org>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
---
 drivers/net/ethernet/intel/fm10k/fm10k_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jesse Brandeburg Nov. 21, 2017, 5:39 p.m. UTC | #1
On Fri, 17 Nov 2017 11:05:48 -0600
Brian King <brking@linux.vnet.ibm.com> wrote:

> The original issue being fixed in this patch was seen with the ixgbe
> driver, but the same issue exists with fm10k as well, as the code is
> very similar. read_barrier_depends is not sufficient to ensure
> loads following it are not speculatively loaded out of order
> by the CPU, which can result in stale data being loaded, causing
> potential system crashes.

Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
diff mbox series

Patch

diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_main.c b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
index 9dffaba..103c0a7 100644
--- a/drivers/net/ethernet/intel/fm10k/fm10k_main.c
+++ b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
@@ -1229,7 +1229,7 @@  static bool fm10k_clean_tx_irq(struct fm10k_q_vector *q_vector,
 			break;
 
 		/* prevent any other reads prior to eop_desc */
-		read_barrier_depends();
+		smp_rmb();
 
 		/* if DD is not set pending work has not been completed */
 		if (!(eop_desc->flags & FM10K_TXD_FLAG_DONE))