kernel-fxtec-pro1x/drivers/usb/core
Alexander Shishkin 1f2235b8e7 usb: move children deallocation after quiescing the hub
Commit ff823c79a5 ("usb: move children
to struct usb_port") forgot to consider the hub_disconnect sequence,
which releases ports before quiescing the hub, which will lead to a
use-after-free, since hub_quiesce() will try to disconnect ports'
children, which are already deallocated. Simple modprobe dummy_hcd &&
rmmod dummy_hcd will illustrate the problem.

This patch moves deallocation of hub's ports after hub_quiesce() call
in hub_disconnect().

Cc: Lan Tianyu <tianyu.lan@intel.com>
Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-12 10:00:51 -07:00
..
buffer.c USB: Core: Fix minor coding style issues 2011-01-22 19:35:39 -08:00
config.c usb: Fail a get config when the port is powered off. 2012-09-10 13:04:01 -07:00
devices.c usb: move children to struct usb_port 2012-09-10 12:59:42 -07:00
devio.c usbfs: Add a new disconnect-and-claim ioctl (v2) 2012-09-10 11:10:37 -07:00
driver.c usb: Add quirk detection based on interface information 2012-07-19 15:44:58 -07:00
endpoint.c usb/endpoint: Set release callback in the struct device_type instead of in the device itself directly 2012-08-20 14:38:08 -07:00
file.c USB: rename the usb misc class from "usb" to "usbmisc" 2012-06-13 15:37:13 -07:00
generic.c USB: accept RNDIS configs if there's no alternative 2010-08-10 14:35:43 -07:00
hcd-pci.c USB: add NO_D3_DURING_SLEEP flag and revert 151b612847 2012-06-13 13:11:39 -07:00
hcd.c USB/host: Cleanup unneccessary irq disable code 2012-09-10 20:22:35 -07:00
hub.c usb: move children deallocation after quiescing the hub 2012-09-12 10:00:51 -07:00
Kconfig usb: Kconfig: remove unneeded default value 2012-05-14 08:49:50 -07:00
Makefile usb: Bind devices to ACPI devices when possible 2012-05-11 17:06:13 -07:00
message.c USB: Enable Latency Tolerance Messaging (LTM). 2012-07-11 07:06:48 -04:00
notify.c usb: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed 2011-10-31 19:31:25 -04:00
otg_whitelist.h
quirks.c usb: convert USB_QUIRK_RESET_MORPHS to USB_QUIRK_RESET 2012-08-20 14:38:08 -07:00
sysfs.c usb: convert USB_QUIRK_RESET_MORPHS to USB_QUIRK_RESET 2012-08-20 14:38:08 -07:00
urb.c usbhid: prevent deadlock during timeout 2012-05-01 13:22:13 -04:00
usb-acpi.c usb/acpi: Use ACPI methods to power off ports. 2012-09-10 13:04:01 -07:00
usb.c USB: Disable LPM while the device is unconfigured. 2012-07-11 07:06:46 -04:00
usb.h usb/acpi: Store info on device removability. 2012-09-10 13:04:01 -07:00