aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorManu Gautam <mgautam@codeaurora.org>2017-12-21 09:54:25 +0530
committerFelipe Balbi <felipe.balbi@linux.intel.com>2018-02-12 10:55:43 +0200
commite74bd4d358e5455233f1dcc3975425905b270b91 (patch)
tree84036466dd272f3e961ce09058b9dc9de736235f /drivers/usb
parentusb: dwc3: omap: don't miss events during suspend/resume (diff)
downloadlinux-dev-e74bd4d358e5455233f1dcc3975425905b270b91.tar.xz
linux-dev-e74bd4d358e5455233f1dcc3975425905b270b91.zip
usb: gadget: core: Fix use-after-free of usb_request
Driver is tracing usb_request after freeing it. Fix it by changing the order. Signed-off-by: Manu Gautam <mgautam@codeaurora.org> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/gadget/udc/core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/gadget/udc/core.c b/drivers/usb/gadget/udc/core.c
index 859d5b11ba4c..1f8b19d9cf97 100644
--- a/drivers/usb/gadget/udc/core.c
+++ b/drivers/usb/gadget/udc/core.c
@@ -180,8 +180,8 @@ EXPORT_SYMBOL_GPL(usb_ep_alloc_request);
void usb_ep_free_request(struct usb_ep *ep,
struct usb_request *req)
{
- ep->ops->free_request(ep, req);
trace_usb_ep_free_request(ep, req, 0);
+ ep->ops->free_request(ep, req);
}
EXPORT_SYMBOL_GPL(usb_ep_free_request);