Re: [PATCH] USB: usb_wwan: Fix urb leak in usb_wwan_close()

From: Johan Hovold

Date: Thu Sep 17 2026 - 05:06:33 EST


On Wed, Sep 16, 2026 at 04:56:08PM +0000, Wentao Liang wrote:
> usb_wwan_close() drains the delayed write urbs with
> usb_get_from_anchor(), which returns the urb with a new reference
> taken. The loop only clears the busy flag of the urb and never drops
> that reference, so each drained urb keeps one reference forever and
> the urb object is not freed when usb_wwan_port_remove() later drops
> the port's own reference.
>
> Drop the reference with usb_put_urb() once the urb has been found in
> the out_urb array by unbusy_queued_urb(), leaving the reference held
> by the port's preallocated out_urbs array.
>
> Fixes: 79eed03e77d4 ("USB: usb_wwan: fix urb leak at shutdown")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Wentao Liang <vulab@xxxxxxxxxxx>

Also looks correct, but again, how was this issue found and fixed?

Johan