summaryrefslogtreecommitdiffstats
path: root/drivers/atm
diff options
context:
space:
mode:
authorFrancesco Ruggeri <fruggeri@arista.com>2020-07-02 15:39:06 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-08-11 15:32:33 +0200
commit0adedbf7a0c337a7d4a6e5660ca7189fdab82fd2 (patch)
tree0f7a32ffb58bdb3d2d6923916cff95ca9271a1e6 /drivers/atm
parent8881425b926e6aa4164113401069d03fab52dc39 (diff)
downloadlinux-stable-0adedbf7a0c337a7d4a6e5660ca7189fdab82fd2.tar.gz
linux-stable-0adedbf7a0c337a7d4a6e5660ca7189fdab82fd2.tar.bz2
linux-stable-0adedbf7a0c337a7d4a6e5660ca7189fdab82fd2.zip
igb: reinit_locked() should be called with rtnl_lock
[ Upstream commit 024a8168b749db7a4aa40a5fbdfa04bf7e77c1c0 ] We observed two panics involving races with igb_reset_task. The first panic is caused by this race condition: kworker reboot -f igb_reset_task igb_reinit_locked igb_down napi_synchronize __igb_shutdown igb_clear_interrupt_scheme igb_free_q_vectors igb_free_q_vector adapter->q_vector[v_idx] = NULL; napi_disable Panics trying to access adapter->q_vector[v_idx].napi_state The second panic (a divide error) is caused by this race: kworker reboot -f tx packet igb_reset_task __igb_shutdown rtnl_lock() ... igb_clear_interrupt_scheme igb_free_q_vectors adapter->num_tx_queues = 0 ... rtnl_unlock() rtnl_lock() igb_reinit_locked igb_down igb_up netif_tx_start_all_queues dev_hard_start_xmit igb_xmit_frame igb_tx_queue_mapping Panics on r_idx % adapter->num_tx_queues This commit applies to igb_reset_task the same changes that were applied to ixgbe in commit 2f90b8657ec9 ("ixgbe: this patch adds support for DCB to the kernel and ixgbe driver"), commit 8f4c5c9fb87a ("ixgbe: reinit_locked() should be called with rtnl_lock") and commit 88adce4ea8f9 ("ixgbe: fix possible race in reset subtask"). Signed-off-by: Francesco Ruggeri <fruggeri@arista.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/atm')
0 files changed, 0 insertions, 0 deletions