[PATCH can 0/5] can: usb: fix URB memory leaks

Marc Kleine-Budde posted 5 patches 4 weeks, 1 day ago
There is a newer version of this series
drivers/net/can/usb/ems_usb.c                    | 2 ++
drivers/net/can/usb/esd_usb.c                    | 2 ++
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c | 2 ++
drivers/net/can/usb/mcba_usb.c                   | 2 ++
drivers/net/can/usb/usb_8dev.c                   | 2 ++
5 files changed, 10 insertions(+)
[PATCH can 0/5] can: usb: fix URB memory leaks
Posted by Marc Kleine-Budde 4 weeks, 1 day ago
An URB memory leak [1] was recently fixed in the gs_usb driver. The driver
did not take into account that completed URBs are no longer anchored,
causing them to be lost during ifdown. The memory leak was fixed by
re-anchoring the URBs in the URB completion callback.

Several USB CAN drivers are affected by the same error. Fix them
accordingly.

[1] https://lore.kernel.org/all/20260109135311.576033-3-mkl@pengutronix.de/

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
Marc Kleine-Budde (5):
      can: ems_usb: ems_usb_read_bulk_callback(): fix URB memory leak
      can: esd_usb: esd_usb_read_bulk_callback(): fix URB memory leak
      can: kvaser_usb: kvaser_usb_read_bulk_callback(): fix URB memory leak
      can: mcba_usb: mcba_usb_read_bulk_callback(): fix URB memory leak
      can: usb_8dev: usb_8dev_read_bulk_callback(): fix URB memory leak

 drivers/net/can/usb/ems_usb.c                    | 2 ++
 drivers/net/can/usb/esd_usb.c                    | 2 ++
 drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c | 2 ++
 drivers/net/can/usb/mcba_usb.c                   | 2 ++
 drivers/net/can/usb/usb_8dev.c                   | 2 ++
 5 files changed, 10 insertions(+)
---
base-commit: 7470a7a63dc162f07c26dbf960e41ee1e248d80e
change-id: 20260109-can_usb-fix-memory-leak-0d769e002393

Best regards,
--  
Marc Kleine-Budde <mkl@pengutronix.de>
Re: [PATCH can 0/5] can: usb: fix URB memory leaks
Posted by Oliver Hartkopp 3 weeks, 5 days ago
Hello Marc,

does this patch set need to be reworked due to this (AI) feedback from 
Jakub?

https://lore.kernel.org/linux-can/20260110223836.3890248-1-kuba@kernel.org/

The former/referenced PR has been pulled - so that specific patch might 
to be fixed again, so that usb_unanchor_urb(urb) is called after 
usb_submit_urb() ??

Best regards,
Oliver

On 10.01.26 18:28, Marc Kleine-Budde wrote:
> An URB memory leak [1] was recently fixed in the gs_usb driver. The driver
> did not take into account that completed URBs are no longer anchored,
> causing them to be lost during ifdown. The memory leak was fixed by
> re-anchoring the URBs in the URB completion callback.
> 
> Several USB CAN drivers are affected by the same error. Fix them
> accordingly.
> 
> [1] https://lore.kernel.org/all/20260109135311.576033-3-mkl@pengutronix.de/
> 
> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
> ---
> Marc Kleine-Budde (5):
>        can: ems_usb: ems_usb_read_bulk_callback(): fix URB memory leak
>        can: esd_usb: esd_usb_read_bulk_callback(): fix URB memory leak
>        can: kvaser_usb: kvaser_usb_read_bulk_callback(): fix URB memory leak
>        can: mcba_usb: mcba_usb_read_bulk_callback(): fix URB memory leak
>        can: usb_8dev: usb_8dev_read_bulk_callback(): fix URB memory leak
> 
>   drivers/net/can/usb/ems_usb.c                    | 2 ++
>   drivers/net/can/usb/esd_usb.c                    | 2 ++
>   drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c | 2 ++
>   drivers/net/can/usb/mcba_usb.c                   | 2 ++
>   drivers/net/can/usb/usb_8dev.c                   | 2 ++
>   5 files changed, 10 insertions(+)
> ---
> base-commit: 7470a7a63dc162f07c26dbf960e41ee1e248d80e
> change-id: 20260109-can_usb-fix-memory-leak-0d769e002393
> 
> Best regards,
> --
> Marc Kleine-Budde <mkl@pengutronix.de>
> 
>
Re: [PATCH can 0/5] can: usb: fix URB memory leaks
Posted by Marc Kleine-Budde 3 weeks, 2 days ago
On 14.01.2026 11:04:11, Oliver Hartkopp wrote:
> does this patch set need to be reworked due to this (AI) feedback from
> Jakub?
>
> https://lore.kernel.org/linux-can/20260110223836.3890248-1-kuba@kernel.org/

yes - done:

| https://lore.kernel.org/all/20260116-can_usb-fix-memory-leak-v2-0-4b8cb2915571@pengutronix.de/

> The former/referenced PR has been pulled - so that specific patch might to
> be fixed again, so that usb_unanchor_urb(urb) is called after
> usb_submit_urb() ??

yes - done:

| https://lore.kernel.org/all/20260116-can_usb-fix-reanchor-v1-1-9d74e7289225@pengutronix.de/

Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde          |
Embedded Linux                   | https://www.pengutronix.de |
Vertretung Nürnberg              | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-9   |
Re: [PATCH can 0/5] can: usb: fix URB memory leaks
Posted by Marc Kleine-Budde 3 weeks, 5 days ago
On 14.01.2026 11:04:11, Oliver Hartkopp wrote:
> does this patch set need to be reworked due to this (AI) feedback from
> Jakub?

yes

> https://lore.kernel.org/linux-can/20260110223836.3890248-1-kuba@kernel.org/
>
> The former/referenced PR has been pulled - so that specific patch might to
> be fixed again, so that usb_unanchor_urb(urb) is called after
> usb_submit_urb() ??

yes, probably. I'll look into that later this week (hopefully).

regards,
Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde          |
Embedded Linux                   | https://www.pengutronix.de |
Vertretung Nürnberg              | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-9   |