Loading
net: fec: remove .ndo_poll_controller to avoid deadlocks
stable inclusion from stable-v6.6.33 commit d38625f71950e79e254515c5fc585552dad4b33e category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IA6SB0 CVE: CVE-2024-38553 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d38625f71950e79e254515c5fc585552dad4b33e -------------------------------- [ Upstream commit c2e0c58b25a0a0c37ec643255558c5af4450c9f5 ] There is a deadlock issue found in sungem driver, please refer to the commit ac0a230f719b ("eth: sungem: remove .ndo_poll_controller to avoid deadlocks"). The root cause of the issue is that netpoll is in atomic context and disable_irq() is called by .ndo_poll_controller interface of sungem driver, however, disable_irq() might sleep. After analyzing the implementation of fec_poll_controller(), the fec driver should have the same issue. Due to the fec driver uses NAPI for TX completions, the .ndo_poll_controller is unnecessary to be implemented in the fec driver, so fec_poll_controller() can be safely removed. Fixes: 7f5c6add ("net/fec: add poll controller function for fec nic") Signed-off-by:Wei Fang <wei.fang@nxp.com> Link: https://lore.kernel.org/r/20240511062009.652918-1-wei.fang@nxp.com Signed-off-by:
Jakub Kicinski <kuba@kernel.org> Signed-off-by:
Sasha Levin <sashal@kernel.org> Conflicts: drivers/net/ethernet/freescale/fec_main.c [Only the context is different, and no code is modified.] Signed-off-by:
Li Zetao <lizetao1@huawei.com>