summaryrefslogtreecommitdiff
path: root/scripts/Makefile.thinlto
diff options
context:
space:
mode:
authorKarl Mehltretter <kmehltretter@gmail.com>2026-10-19 08:04:30 +0200
committerJakub Kicinski <kuba@kernel.org>2026-10-21 17:04:16 -0700
commit6acb220312d58cffe6591c6adc90dbfd042cc1af (patch)
tree5038e885ae9d13f7f070c8bbe60bb33c80e65f3e /scripts/Makefile.thinlto
parentceb0527b1cda30364473698e5c8ec36371dfdba0 (diff)
downloadlinux-6acb220312d58cffe6591c6adc90dbfd042cc1af.tar.gz
linux-6acb220312d58cffe6591c6adc90dbfd042cc1af.zip
net: cpsw: fix netdev cleanup on probe failure
The legacy CPSW driver registers its netdevs before requesting IRQs. If a later IRQ request fails in dual-EMAC mode, the probe error path unregisters only the primary netdev. Devres then calls free_netdev() on the still-registered secondary netdev, triggering the reg_state BUG_ON. Once registered, either interface can queue rx_mode_work through dev_set_rx_mode(). The error path does not drain the work before devres releases the netdev and its private data, allowing the worker to access freed memory. Use the same per-port cleanup for probe failure and remove. Unregister each netdev whose reg_state is NETREG_REGISTERED, then drain its rx_mode_work. The state check is needed because cpsw_probe_dual_emac() stores the secondary pointer before register_netdev() succeeds. The workqueue lifetime issue was found during an LLM-assisted review of the 6.12.112-rc1 stable series. Inspecting the same path then exposed the dual-EMAC cleanup bug. An instrumented KASAN ARM kernel and a QEMU CPSW probe stub reproduced both failures by forcing the TX IRQ request to return -EBUSY. Not tested on real hardware. Cc: stable+noautosel@kernel.org # LLM report + LLM fix, untested Fixes: 070f9c658a59 ("net: ethernet: ti: cpsw: Push the request_irq function to the end of probe") Fixes: 0b8c878d1173 ("net: cpsw: Execute ndo_set_rx_mode callback in a work queue") Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com> Reviewed-by: Alexander Sverdlin <alexander.sverdlin@siemens.com> Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com> Link: https://patch.msgid.link/20261019060430.33254-1-kmehltretter@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions