Re: [PATCH] USB: XHCI: fix memory leak of URB-private data

From: Martin Mokrejs
Date: Thu Jan 24 2013 - 16:53:20 EST


Hi Sarah and Alan,
I just saw 3.7.5 patches announced by Greg but I don't see this path in there.
And, don't know but maybe this applies to older stable kernels as well?
Where will this patch posted originally to linux-usb land?

Ah, is that because the email was actually NOT sent to "stable@"? ;-)

Date: Thu, 17 Jan 2013 10:32:16 -0500 (EST)
From: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
To: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx>
cc: Martin Mokrejs <mmokrejs@xxxxxxxxxxxxxxxxxx>,
USB list <linux-usb@xxxxxxxxxxxxxxx>
Subject: [PATCH] USB: XHCI: fix memory leak of URB-private data
Message-ID: <Pine.LNX.4.44L0.1301171031260.1339-100000@xxxxxxxxxxxxxxxxxxxx>

Thank you,
Martin

Alan Stern wrote:
> This patch (as1640) fixes a memory leak in xhci-hcd. The urb_priv
> data structure isn't always deallocated in the handle_tx_event()
> routine for non-control transfers. The patch adds a kfree() call so
> that all paths end up freeing the memory properly.
>
> Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
> Reported-and-tested-by: Martin Mokrejs <mmokrejs@xxxxxxxxxxxxxxxxxx>
> CC: <stable@xxxxxxxxxxxxxxx>
>
> ---
>
> drivers/usb/host/xhci-ring.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> Index: usb-3.7/drivers/usb/host/xhci-ring.c
> ===================================================================
> --- usb-3.7.orig/drivers/usb/host/xhci-ring.c
> +++ usb-3.7/drivers/usb/host/xhci-ring.c
> @@ -2580,6 +2580,8 @@ cleanup:
> (trb_comp_code != COMP_STALL &&
> trb_comp_code != COMP_BABBLE))
> xhci_urb_free_priv(xhci, urb_priv);
> + else
> + kfree(urb_priv);
>
> usb_hcd_unlink_urb_from_ep(bus_to_hcd(urb->dev->bus), urb);
> if ((urb->actual_length != urb->transfer_buffer_length &&
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/