linux/drivers/usb/gadget
Alexey Khoroshilov cff5638ef7 usb: gadget: bdc_udc: fix race condition in bdc_udc_exit()
bdc_ep_disable() expects to be called with bdc->lock held.
The assumption is met in all the cases except for call from bdc_udc_exit(),
that is called from bdc_remove(). As a result a race can happen or unheld
bdc->lock can be unlocked in bdc_req_complete().

The patch proposes to acquire-release bdc->lock around bdc_ep_disable()
in bdc_udc_exit().

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
2016-03-04 15:14:47 +02:00
..
function usb: gadget: f_midi: stash substream in gmidi_in_port structure 2016-03-04 15:14:34 +02:00
legacy usb: gadget: provide interface for legacy gadgets to get UDC name 2016-03-04 15:14:35 +02:00
udc usb: gadget: bdc_udc: fix race condition in bdc_udc_exit() 2016-03-04 15:14:47 +02:00
Kconfig Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2016-01-20 17:20:53 -08:00
Makefile usb: gadget: use $(srctree) instead of $(PWD) for includes 2014-08-29 15:53:46 -05:00
composite.c usb: gadget: composite: handle otg status selector request from OTG host 2016-03-04 15:14:36 +02:00
config.c usb: gadget: Update function for SuperSpeedPlus 2016-03-04 15:14:23 +02:00
configfs.c usb: gadget: Update config for SuperSpeedPlus 2016-03-04 15:14:24 +02:00
configfs.h usb: gadget: OS descriptors: provide interface directory names 2014-06-19 10:06:48 -05:00
epautoconf.c usb: gadget: epautoconf: add usb_ep_autoconfig_release() function 2015-09-27 10:54:31 -05:00
functions.c usb: gadget: add a forward pointer from usb_function to its "instance" 2013-01-21 20:52:46 +02:00
u_f.c usb: gadget: define free_ep_req as universal function 2015-12-15 09:12:41 -06:00
u_f.h usb: gadget: define free_ep_req as universal function 2015-12-15 09:12:41 -06:00
u_os_desc.h usb: gadget: u_os_desc: helper functions for accessing ext prop buffer 2014-07-10 08:36:51 -05:00
usbstring.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00