Skip to content

Commit 391cdaa

Browse files
bjking1gregkh
authored andcommitted
igb: Use smp_rmb rather than read_barrier_depends
commit c4cb99185b4cc96c0a1c70104dc21ae14d7e7f28 upstream. The original issue being fixed in this patch was seen with the ixgbe driver, but the same issue exists with igb 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. Signed-off-by: Brian King <brking@linux.vnet.ibm.com> Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 146d533 commit 391cdaa

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

drivers/net/ethernet/intel/igb/igb_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6433,7 +6433,7 @@ static bool igb_clean_tx_irq(struct igb_q_vector *q_vector)
64336433
break;
64346434

64356435
/* prevent any other reads prior to eop_desc */
6436-
read_barrier_depends();
6436+
smp_rmb();
64376437

64386438
/* if DD is not set pending work has not been completed */
64396439
if (!(eop_desc->wb.status & cpu_to_le32(E1000_TXD_STAT_DD)))

0 commit comments

Comments
 (0)