On Tue, Aug 11, 2026 at 10:17:51AM -0700, Emil Tantilov wrote:
> Reset and remove can race, leaving NAPI registered and enabled:
> 
> modprobe idpf& sleep 1; ip link set eth0 up& rmmod idpf
> 
> [145561.805104] WARNING: net/core/dev.c:7699 at 
> __netif_napi_del_locked+0x11a/0x130, CPU#30: rmmod/22393
> ...
> [145561.810238] RIP: 0010:__netif_napi_del_locked+0x11a/0x130
> ...
> [145561.817678] Call Trace:
> [145561.818125]  <TASK>
> [145561.818653]  free_netdev+0x110/0x2a0
> [145561.819109]  idpf_vport_dealloc+0x452/0x460 [idpf]
> [145561.819668]  ? enable_work+0x9f/0x100
> [145561.820133]  idpf_deinit_task+0x51/0x70 [idpf]
> [145561.820694]  idpf_vc_core_deinit+0x32/0x170 [idpf]
> [145561.821193]  idpf_remove+0x40/0x200 [idpf]
> [145561.821667]  pci_device_remove+0x40/0xa0
> [145561.822132]  device_release_driver_internal+0x1a9/0x210
> [145561.822691]  driver_detach+0x4b/0x90
> [145561.823161]  bus_remove_driver+0x70/0x100
> [145561.823721]  pci_unregister_driver+0x2e/0xb0
> [145561.824207]  __do_sys_delete_module.constprop.0+0x190/0x2e0
> [145561.824715]  ? kmem_cache_free+0x312/0x550
> [145561.825213]  do_syscall_64+0xc8/0x6b0
> [145561.825709]  ? clear_bhb_loop+0x30/0x80
> [145561.826216]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
> [145561.826602] RIP: 0033:0x7fe628130beb
> 
> Make sure to call idpf_vport_stop() in idpf_stop(), irrespective of the
> IDPF_REMOVE_IN_PROG state, to allow a reset racing with remove to tear
> down NAPI in idpf_detach_and_close(), which runs under RTNL lock.
> 
> Fixes: 2e281e1155fc ("idpf: detach and close netdevs while handling a reset")
> Signed-off-by: Emil Tantilov <[email protected]>
> Reviewed-by: Joshua Hay <[email protected]>

Reviewed-by: Simon Horman <[email protected]>

Reply via email to