mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-19 18:16:08 +07:00
c0fdccfd22
Use synchronize_rcu to wait until the XSK wakeup function finishes before destroying the resources it uses: 1. ixgbe_down already calls synchronize_rcu after setting __IXGBE_DOWN. 2. After switching the XDP program, call synchronize_rcu to let ixgbe_xsk_wakeup exit before the XDP program is freed. 3. Changing the number of channels brings the interface down. 4. Disabling UMEM sets __IXGBE_TX_DISABLED before closing hardware resources and resetting xsk_umem. Check that bit in ixgbe_xsk_wakeup to avoid using the XDP ring when it's already destroyed. synchronize_rcu is called from ixgbe_txrx_ring_disable. Signed-off-by: Maxim Mikityanskiy <maximmi@mellanox.com> Signed-off-by: Björn Töpel <bjorn.topel@intel.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Link: https://lore.kernel.org/bpf/20191217162023.16011-5-maximmi@mellanox.com |
||
---|---|---|
.. | ||
ixgbe_82598.c | ||
ixgbe_82599.c | ||
ixgbe_common.c | ||
ixgbe_common.h | ||
ixgbe_dcb_82598.c | ||
ixgbe_dcb_82598.h | ||
ixgbe_dcb_82599.c | ||
ixgbe_dcb_82599.h | ||
ixgbe_dcb_nl.c | ||
ixgbe_dcb.c | ||
ixgbe_dcb.h | ||
ixgbe_debugfs.c | ||
ixgbe_ethtool.c | ||
ixgbe_fcoe.c | ||
ixgbe_fcoe.h | ||
ixgbe_ipsec.c | ||
ixgbe_ipsec.h | ||
ixgbe_lib.c | ||
ixgbe_main.c | ||
ixgbe_mbx.c | ||
ixgbe_mbx.h | ||
ixgbe_model.h | ||
ixgbe_phy.c | ||
ixgbe_phy.h | ||
ixgbe_ptp.c | ||
ixgbe_sriov.c | ||
ixgbe_sriov.h | ||
ixgbe_sysfs.c | ||
ixgbe_txrx_common.h | ||
ixgbe_type.h | ||
ixgbe_x540.c | ||
ixgbe_x540.h | ||
ixgbe_x550.c | ||
ixgbe_xsk.c | ||
ixgbe.h | ||
Makefile |