diff options
author | Gavin Li <git@thegavinli.com> | 2019-08-04 16:50:44 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-08-05 17:27:52 +0200 |
commit | c43f28dfdc4654e738aa6d3fd08a105b2bee758d (patch) | |
tree | 5c875723c4a6058d66bacab1d7ccf3059f391744 /drivers/usb | |
parent | fc05481b2fcabaaeccf63e32ac1baab54e5b6963 (diff) | |
download | linux-c43f28dfdc4654e738aa6d3fd08a105b2bee758d.tar.gz linux-c43f28dfdc4654e738aa6d3fd08a105b2bee758d.tar.bz2 linux-c43f28dfdc4654e738aa6d3fd08a105b2bee758d.zip |
usb: usbfs: fix double-free of usb memory upon submiturb error
Upon an error within proc_do_submiturb(), dec_usb_memory_use_count()
gets called once by the error handling tail and again by free_async().
Remove the first call.
Signed-off-by: Gavin Li <git@thegavinli.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20190804235044.22327-1-gavinli@thegavinli.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/core/devio.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c index b265ab5405f9..9063ede411ae 100644 --- a/drivers/usb/core/devio.c +++ b/drivers/usb/core/devio.c @@ -1812,8 +1812,6 @@ static int proc_do_submiturb(struct usb_dev_state *ps, struct usbdevfs_urb *uurb return 0; error: - if (as && as->usbm) - dec_usb_memory_use_count(as->usbm, &as->usbm->urb_use_count); kfree(isopkt); kfree(dr); if (as) |