linux/drivers/net/ethernet/intel/i40e
Stefan Assmann 8b4b06919f i40e: improve locking of mac_filter_hash
i40e_config_vf_promiscuous_mode() calls
i40e_getnum_vf_vsi_vlan_filters() without acquiring the
mac_filter_hash_lock spinlock.

This is unsafe because mac_filter_hash may get altered in another thread
while i40e_getnum_vf_vsi_vlan_filters() traverses the hashes.

Simply adding the spinlock in i40e_getnum_vf_vsi_vlan_filters() is not
possible as it already gets called in i40e_get_vlan_list_sync() with the
spinlock held. Therefore adding a wrapper that acquires the spinlock and
call the correct function where appropriate.

Fixes: 37d318d780 ("i40e: Remove scheduling while atomic possibility")
Fix-suggested-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Tested-by: Konrad Jankowski <konrad0.jankowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2021-07-19 09:18:30 -07:00
..
i40e.h i40e: Register auxiliary devices to provide RDMA 2021-05-28 20:11:13 -07:00
i40e_adminq.c
i40e_adminq.h
i40e_adminq_cmd.h i40e: Fix PHY type identifiers for 2.5G and 5G adapters 2021-05-07 09:35:49 -07:00
i40e_alloc.h
i40e_client.c RDMA/irdma: Add irdma Kconfig/Makefile and remove i40iw 2021-06-02 20:06:36 -03:00
i40e_common.c i40e: clean up packet type lookup table 2021-06-18 09:04:44 -07:00
i40e_dcb.c
i40e_dcb.h
i40e_dcb_nl.c
i40e_ddp.c
i40e_debugfs.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-04-09 20:48:35 -07:00
i40e_devids.h
i40e_diag.c
i40e_diag.h
i40e_ethtool.c i40e: Fix autoneg disabling for non-10GBaseT links 2021-06-24 10:23:57 -07:00
i40e_hmc.c
i40e_hmc.h
i40e_lan_hmc.c
i40e_lan_hmc.h
i40e_main.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-06-29 15:45:27 -07:00
i40e_nvm.c
i40e_osdep.h
i40e_prototype.h
i40e_ptp.c i40e: fix PTP on 5Gb links 2021-06-24 11:06:28 -07:00
i40e_register.h
i40e_status.h
i40e_trace.h
i40e_txrx.c intel: Remove rcu_read_lock() around XDP program invocation 2021-06-24 19:44:34 +02:00
i40e_txrx.h
i40e_txrx_common.h
i40e_type.h i40e: clean up packet type lookup table 2021-06-18 09:04:44 -07:00
i40e_virtchnl_pf.c i40e: improve locking of mac_filter_hash 2021-07-19 09:18:30 -07:00
i40e_virtchnl_pf.h
i40e_xsk.c intel: Remove rcu_read_lock() around XDP program invocation 2021-06-24 19:44:34 +02:00
i40e_xsk.h
Makefile