Re: [PATCH] usb: xhci: Fix memory leak in xhci_endpoint_reset()

From: Mathias Nyman
Date: Fri Jul 20 2018 - 04:16:03 EST


On 09.07.2018 10:12, iq_132@xxxxxxxx wrote:

From: Zheng Xiaowei <zhengxiaowei@xxxxxxxxxxxxx>

If td_list is not empty the cfg_cmd will not be freed,
call xhci_free_command to free it.

Signed-off-by: Zheng Xiaowei <zhengxiaowei@xxxxxxxxxxxxx>
---
drivers/usb/host/xhci.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 2f4850f..68e6132 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -3051,6 +3051,7 @@ static void xhci_endpoint_reset(struct usb_hcd *hcd,
if (!list_empty(&ep->ring->td_list)) {
dev_err(&udev->dev, "EP not empty, refuse reset\n");
spin_unlock_irqrestore(&xhci->lock, flags);
+ xhci_free_command(xhci, cfg_cmd);
goto cleanup;
}
xhci_queue_stop_endpoint(xhci, stop_cmd, udev->slot_id, ep_index, 0);


Thanks, adding to queue

-Mathias