linux-stable/drivers/net/ethernet/intel/ice
Björn Töpel 8d14768a79 ice, xsk: clear the status bits for the next_to_use descriptor
On the Rx side, the next_to_use index points to the next item in the
HW ring to be refilled/allocated, and next_to_clean points to the next
item to potentially be processed.

When the HW Rx ring is fully refilled, i.e. no packets has been
processed, the next_to_use will be next_to_clean - 1. When the ring is
fully processed next_to_clean will be equal to next_to_use. The latter
case is where a bug is triggered.

If the next_to_use bits are not cleared, and the "fully processed"
state is entered, a stale descriptor can be processed.

The skb-path correctly clear the status bit for the next_to_use
descriptor, but the AF_XDP zero-copy path did not do that.

This change adds the status bits clearing of the next_to_use
descriptor.

Fixes: 2d4238f556 ("ice: Add support for AF_XDP")
Signed-off-by: Björn Töpel <bjorn.topel@intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2020-12-16 10:51:07 -08:00
..
ice.h ice: Remove vlan_ena from vsi structure 2020-12-09 08:11:54 -08:00
ice_adminq_cmd.h intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
ice_arfs.c ice: Implement aRFS 2020-05-22 22:02:34 -07:00
ice_arfs.h ice: Implement aRFS 2020-05-22 22:02:34 -07:00
ice_base.c xsk: Propagate napi_id to XDP socket Rx path 2020-12-01 00:09:25 +01:00
ice_base.h
ice_common.c ice: join format strings to same line as ice_debug 2020-12-09 08:11:55 -08:00
ice_common.h ice: Implement LFC workaround 2020-07-29 08:38:54 -07:00
ice_controlq.c ice: join format strings to same line as ice_debug 2020-12-09 08:11:55 -08:00
ice_controlq.h ice: Handle critical FW error during admin queue initialization 2020-05-27 17:48:23 -07:00
ice_dcb.c ice: Implement LFC workaround 2020-07-29 08:38:54 -07:00
ice_dcb.h ice: replace single-element array used for C struct hack 2020-07-01 16:35:23 -07:00
ice_dcb_lib.c ice: fix link event handling timing 2020-07-29 08:38:54 -07:00
ice_dcb_lib.h ice: Implement LFC workaround 2020-07-29 08:38:54 -07:00
ice_dcb_nl.c ice: remove unused macro 2020-05-27 17:03:40 -07:00
ice_dcb_nl.h
ice_devids.h
ice_devlink.c devlink: move flash end and begin to core devlink 2020-11-19 21:41:02 -08:00
ice_devlink.h ice: refactor devlink_port to be per-VSI 2020-10-09 13:14:19 -07:00
ice_ethtool.c ice: add useful statistics 2020-08-01 08:44:04 -07:00
ice_ethtool_fdir.c ice: remove unused args from ice_get_open_tunnel_port() 2020-09-28 12:50:12 -07:00
ice_fdir.c ice: remove unused args from ice_get_open_tunnel_port() 2020-09-28 12:50:12 -07:00
ice_fdir.h ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_flex_pipe.c ice: join format strings to same line as ice_debug 2020-12-09 08:11:55 -08:00
ice_flex_pipe.h ice: convert to new udp_tunnel infrastructure 2020-09-28 12:50:12 -07:00
ice_flex_type.h ice: convert to new udp_tunnel infrastructure 2020-09-28 12:50:12 -07:00
ice_flow.c ice: join format strings to same line as ice_debug 2020-12-09 08:11:55 -08:00
ice_flow.h ice: Fix pointer cast warnings 2020-10-09 13:14:19 -07:00
ice_fltr.c ice: refactor filter functions 2020-05-21 22:10:04 -07:00
ice_fltr.h ice: refactor filter functions 2020-05-21 22:10:04 -07:00
ice_fw_update.c ice: add additional debug logging for firmware update 2020-10-09 13:14:19 -07:00
ice_fw_update.h ice: add support for flash update overwrite mask 2020-09-25 17:20:57 -07:00
ice_hw_autogen.h ice: Misc minor fixes 2020-08-01 08:44:04 -07:00
ice_lan_tx_rx.h ice: update PTYPE lookup table 2020-08-01 08:44:04 -07:00
ice_lib.c ice: refactor devlink_port to be per-VSI 2020-10-09 13:14:19 -07:00
ice_lib.h ice: fix memory leak if register_netdev_fails 2020-09-25 07:39:24 -07:00
ice_main.c ice: Add space to unknown speed 2020-12-09 08:11:55 -08:00
ice_nvm.c ice: join format strings to same line as ice_debug 2020-12-09 08:11:55 -08:00
ice_nvm.h ice: Add AdminQ commands for FW update 2020-07-28 17:07:06 -07:00
ice_osdep.h
ice_protocol_type.h ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_sched.c ice: join format strings to same line as ice_debug 2020-12-09 08:11:55 -08:00
ice_sched.h ice: avoid unnecessary single-member variable-length structs 2020-07-01 16:33:29 -07:00
ice_sriov.c
ice_sriov.h
ice_status.h ice: Handle critical FW error during admin queue initialization 2020-05-27 17:48:23 -07:00
ice_switch.c ice: join format strings to same line as ice_debug 2020-12-09 08:11:55 -08:00
ice_switch.h ice: Initialize Flow Director resources 2020-05-22 21:26:37 -07:00
ice_txrx.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-12-11 22:29:38 -08:00
ice_txrx.h intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
ice_txrx_lib.c ice: add useful statistics 2020-08-01 08:44:04 -07:00
ice_txrx_lib.h ice: Rename build_ctob to ice_build_ctob 2020-05-21 22:10:04 -07:00
ice_type.h ice: convert to new udp_tunnel infrastructure 2020-09-28 12:50:12 -07:00
ice_virtchnl_pf.c ice: remove repeated words 2020-10-09 13:14:19 -07:00
ice_virtchnl_pf.h ice: Allow 2 queue pairs per VF on SR-IOV initialization 2020-08-01 08:44:04 -07:00
ice_xsk.c ice, xsk: clear the status bits for the next_to_use descriptor 2020-12-16 10:51:07 -08:00
ice_xsk.h xsk: i40e: ice: ixgbe: mlx5: Pass buffer pool to driver instead of umem 2020-08-31 21:15:03 +02:00
Makefile ice: implement device flash update via devlink 2020-07-28 17:07:06 -07:00