aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/net/ethernet/intel/ice/ice_main.c
diff options
context:
space:
mode:
authorCiara Loftus <ciara.loftus@intel.com>2020-06-09 13:19:45 +0000
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2020-06-18 22:35:34 -0700
commitb1d95cc2391ffac0c5b27256a4fb0d2cfb021a29 (patch)
treedaba3edf8a8be9f2f85ae07209ecb033e8295882 /drivers/net/ethernet/intel/ice/ice_main.c
parenti40e: protect ring accesses with READ- and WRITE_ONCE (diff)
downloadwireguard-linux-b1d95cc2391ffac0c5b27256a4fb0d2cfb021a29.tar.xz
wireguard-linux-b1d95cc2391ffac0c5b27256a4fb0d2cfb021a29.zip
ice: protect ring accesses with WRITE_ONCE
The READ_ONCE macro is used when reading rings prior to accessing the statistics pointer. The corresponding WRITE_ONCE usage when allocating and freeing the rings to ensure protected access was not in place. Introduce this. Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to '')
-rw-r--r--drivers/net/ethernet/intel/ice/ice_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index 082825e3cb39..4cbd49c87568 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -1702,7 +1702,7 @@ static int ice_xdp_alloc_setup_rings(struct ice_vsi *vsi)
xdp_ring->netdev = NULL;
xdp_ring->dev = dev;
xdp_ring->count = vsi->num_tx_desc;
- vsi->xdp_rings[i] = xdp_ring;
+ WRITE_ONCE(vsi->xdp_rings[i], xdp_ring);
if (ice_setup_tx_ring(xdp_ring))
goto free_xdp_rings;
ice_set_ring_xdp(xdp_ring);