linux/drivers/net/ethernet/intel/ixgbe
Toke Høiland-Jørgensen 49589b23d5 intel: Remove rcu_read_lock() around XDP program invocation
The Intel drivers all have rcu_read_lock()/rcu_read_unlock() pairs around
XDP program invocations. However, the actual lifetime of the objects
referred by the XDP program invocation is longer, all the way through to
the call to xdp_do_flush(), making the scope of the rcu_read_lock() too
small. This turns out to be harmless because it all happens in a single
NAPI poll cycle (and thus under local_bh_disable()), but it makes the
rcu_read_lock() misleading.

Rather than extend the scope of the rcu_read_lock(), just get rid of it
entirely. With the addition of RCU annotations to the XDP_REDIRECT map
types that take bh execution into account, lockdep even understands this to
be safe, so there's really no reason to keep it around.

Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Tested-by: Jesper Dangaard Brouer <brouer@redhat.com> # i40e
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: intel-wired-lan@lists.osuosl.org
Link: https://lore.kernel.org/bpf/20210624160609.292325-12-toke@redhat.com
2021-06-24 19:44:34 +02:00
..
Makefile
ixgbe.h ixgbe: store the result of ixgbe_rx_offset() onto ixgbe_ring 2021-02-12 10:40:03 -08:00
ixgbe_82598.c ethernet/intel: Convert fallthrough code comments 2020-07-01 13:47:43 -07:00
ixgbe_82599.c ixgbe: use checker safe conversions 2021-05-26 09:11:41 -07:00
ixgbe_common.c ixgbe: Fix out-bounds warning in ixgbe_host_interface_command() 2021-05-27 16:10:00 -07:00
ixgbe_common.h
ixgbe_dcb.c
ixgbe_dcb.h
ixgbe_dcb_82598.c
ixgbe_dcb_82598.h
ixgbe_dcb_82599.c
ixgbe_dcb_82599.h
ixgbe_dcb_nl.c net: ethernet: intel: Fix a typo in the file ixgbe_dcb_nl.c 2021-04-13 19:08:48 -07:00
ixgbe_debugfs.c netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
ixgbe_ethtool.c intel: Update drivers to use ethtool_sprintf 2021-03-17 11:42:30 -07:00
ixgbe_fcoe.c scsi: fcoe: Fix I/O path allocation 2020-08-17 21:52:39 -04:00
ixgbe_fcoe.h
ixgbe_ipsec.c ixgbe: reduce checker warnings 2021-05-26 09:11:41 -07:00
ixgbe_ipsec.h
ixgbe_lib.c ixgbe: Fix fall-through warnings for Clang 2021-03-23 11:34:02 -07:00
ixgbe_main.c intel: Remove rcu_read_lock() around XDP program invocation 2021-06-24 19:44:34 +02:00
ixgbe_mbx.c
ixgbe_mbx.h
ixgbe_model.h
ixgbe_phy.c ixgbe: Support external GBE SerDes PHY BCM54616s 2021-04-13 19:08:48 -07:00
ixgbe_phy.h
ixgbe_ptp.c ixgbe: Fix fall-through warnings for Clang 2021-03-23 11:34:02 -07:00
ixgbe_sriov.c ixgbe: fix large MTU request from VF 2021-05-20 15:22:41 -07:00
ixgbe_sriov.h
ixgbe_sysfs.c
ixgbe_txrx_common.h xsk: i40e: ice: ixgbe: mlx5: Pass buffer pool to driver instead of umem 2020-08-31 21:15:03 +02:00
ixgbe_type.h net: intel: Remove unused function pointer typedef ixgbe_mc_addr_itr 2021-04-13 19:08:48 -07:00
ixgbe_x540.c intel: clean up mismatched header comments 2021-03-23 11:34:02 -07:00
ixgbe_x540.h
ixgbe_x550.c intel: clean up mismatched header comments 2021-03-23 11:34:02 -07:00
ixgbe_xsk.c intel: Remove rcu_read_lock() around XDP program invocation 2021-06-24 19:44:34 +02:00