Re: [PATCH V2] usbnet: Prevents free active kevent
From: Jakub Kicinski
Date: Fri Oct 17 2025 - 18:27:41 EST
On Fri, 17 Oct 2025 17:05:41 +0800 Lizhi Xu wrote:
> The root cause of this issue are:
> 1. When probing the usbnet device, executing usbnet_link_change(dev, 0, 0);
> put the kevent work in global workqueue. However, the kevent has not yet
> been scheduled when the usbnet device is unregistered. Therefore, executing
> free_netdev() results in the "free active object (kevent)" error reported
> here.
>
> 2. Another factor is that when calling usbnet_disconnect()->unregister_netdev(),
> if the usbnet device is up, ndo_stop() is executed to cancel the kevent.
> However, because the device is not up, ndo_stop() is not executed.
>
> The solution to this problem is to cancel the kevent before executing
> free_netdev(), which also deletes the delay timer.
Please add a fixes tag, and repost.
Please don't send new versions in reply to previous / existing threads.
Please read at least the tl;dr of:
https://www.kernel.org/doc/html/next/process/maintainer-netdev.html
--
pw-bot: cr