diff options
author | Anton Bondarenko <anton.bondarenko.sama@gmail.com> | 2017-05-07 01:53:46 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-05-17 11:27:41 +0200 |
commit | 1a744d2eb76aaafb997fda004ae3ae62a1538f85 (patch) | |
tree | c0aa7215ebcb46d6f2db095c08976abc01636004 /drivers/usb/core | |
parent | dd5ca753fa92fb736b1395db892bd29f78e6d408 (diff) | |
download | linux-stable-1a744d2eb76aaafb997fda004ae3ae62a1538f85.tar.gz linux-stable-1a744d2eb76aaafb997fda004ae3ae62a1538f85.tar.bz2 linux-stable-1a744d2eb76aaafb997fda004ae3ae62a1538f85.zip |
usb: core: fix potential memory leak in error path during hcd creation
Free memory allocated for address0_mutex if allocation of bandwidth_mutex
failed.
Fixes: feb26ac31a2a ("usb: core: hub: hub_port_init lock controller instead of bus")
Signed-off-by: Anton Bondarenko <anton.bondarenko.sama@gmail.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/core')
-rw-r--r-- | drivers/usb/core/hcd.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c index 5235d6be1bdf..5dea98358c05 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c @@ -2520,6 +2520,7 @@ struct usb_hcd *__usb_create_hcd(const struct hc_driver *driver, hcd->bandwidth_mutex = kmalloc(sizeof(*hcd->bandwidth_mutex), GFP_KERNEL); if (!hcd->bandwidth_mutex) { + kfree(hcd->address0_mutex); kfree(hcd); dev_dbg(dev, "hcd bandwidth mutex alloc failed\n"); return NULL; |