linux/drivers/usb/core
Christian Lamparter b3e670443b USB: fix thread-unsafe anchor utiliy routines
This patch fixes a race condition in two utility routines
related to the removal/unlinking of urbs from an anchor.

If two threads are concurrently accessing the same anchor,
both could end up with the same urb - thinking they are
the exclusive owner.

Alan Stern pointed out a related issue in
usb_unlink_anchored_urbs:

"The URB isn't removed from the anchor until it completes
 (as a by-product of completion, in fact), which might not
 be for quite some time after the unlink call returns.
 In the meantime, the subroutine will keep trying to unlink
 it, over and over again."

Cc: stable <stable@kernel.org>
Cc: Oliver Neukum <oneukum@suse.de>
Cc: Greg Kroah-Hartman <greg@kroah.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-10 14:35:45 -07:00
..
buffer.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
config.c USB: remove the usb_host_ss_ep_comp structure 2010-05-20 13:21:40 -07:00
devices.c USB: devices: fix Coding Styles 2010-05-20 13:21:38 -07:00
devio.c USB-BKL: Convert usb_driver ioctl to unlocked_ioctl 2010-08-10 14:35:35 -07:00
driver.c USB: core driver: Fix Coding Styles 2010-08-10 14:35:34 -07:00
endpoint.c USB: core endpoint: Fix Coding Styles 2010-08-10 14:35:34 -07:00
file.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
generic.c USB: accept RNDIS configs if there's no alternative 2010-08-10 14:35:43 -07:00
hcd-pci.c USB: core: hcd-pci: use for_each_pci_dev() 2010-08-10 14:35:38 -07:00
hcd.c USB: xHCI: Supporting MSI/MSI-X 2010-08-10 14:35:40 -07:00
hub.c USB delay init quirk for logitech Harmony 700-series devices 2010-08-10 14:35:41 -07:00
inode.c USB-BKL: Remove lock_kernel in usbfs update_sb() 2010-08-10 14:35:35 -07:00
Kconfig USB: fix build on OMAPs if CONFIG_PM_RUNTIME is not set 2010-04-30 09:25:11 -07:00
Makefile USB: add the usbfs devices file to debugfs 2009-06-15 21:44:43 -07:00
message.c USB: fix oops in usb_sg_init() 2010-06-30 08:16:06 -07:00
notify.c USB : correct comments in usb/core/notify.c 2008-02-01 14:34:44 -08:00
otg_whitelist.h USB: fix codingstyle issues in drivers/usb/core/*.h 2008-02-01 14:35:07 -08:00
quirks.c USB delay init quirk for logitech Harmony 700-series devices 2010-08-10 14:35:41 -07:00
sysfs.c sysfs: add struct file* to bin_attr callbacks 2010-05-21 09:37:31 -07:00
urb.c USB: fix thread-unsafe anchor utiliy routines 2010-08-10 14:35:45 -07:00
usb.c drivers/base: Convert dev->sem to mutex 2010-05-21 09:37:30 -07:00
usb.h USB: convert to the runtime PM framework 2010-03-02 14:54:12 -08:00