On Mon, May 11, 2026 at 9:21 PM Balaji Selvanathan
<[email protected]> wrote:
>
> The dwc3_free_one_event_buffer() function incorrectly called free()
> on event buffer structures allocated with devm_kzalloc(). This
> caused heap corruption and a synchronous abort when exiting
> fastboot mode via "fastboot continue".
>
> Device-managed memory is automatically freed when the device is
> removed, so manual deallocation causes the heap allocator to access
> corrupted metadata.
>
> Fixes: 884b10e86a05 ("usb: dwc3: core: fix memory leaks in event buffer 
> cleanup")
> Signed-off-by: Balaji Selvanathan <[email protected]>
> ---
> Changes in v3:
> - Move Fixes tag to commit footer in commit description
> - Link to v2: 
> https://lore.kernel.org/u-boot/[email protected]/
>
> Changes in v2:
> - Added Fixes tag in commit description
> - Link to v1: 
> https://lore.kernel.org/u-boot/[email protected]/
> ---
>  drivers/usb/dwc3/core.c | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> index 0dee14c8b59..be198041f08 100644
> --- a/drivers/usb/dwc3/core.c
> +++ b/drivers/usb/dwc3/core.c
> @@ -208,7 +208,6 @@ static void dwc3_free_one_event_buffer(struct dwc3 *dwc,
>                 struct dwc3_event_buffer *evt)
>  {
>         dma_free_coherent(evt->buf);
> -       free(evt);

Thanks for the fix Balaji! This fixed a crash I've been seeing on
Rockchip RK3576 trying to use the UMS gadget, so

Tested-by: Alexey Charkov <[email protected]>
Closes: 
https://lore.kernel.org/u-boot/caktndwha_3ej4d7mabmaar1dyrvt_memsj7_naux1dktzou...@mail.gmail.com/

Best regards,
Alexey

Reply via email to