linux/drivers/usb/host
Joe Lawrence 89140fdaf1 xhci: harden xhci_find_next_ext_cap against device removal
xhci_find_next_ext_cap doesn't check for PCI hotplug removal and may use
the PCI master abort bit pattern (~0) to calculate a new PCI address
offset to read/write.  The has lead to reproducable crashes when testing
surprise removal during device initialization on a Stratus platform, at
least after commit d5ddcdf4d6 ("xhci: rework xhci extended capability
list parsing functions").

The crash is repeatable on a Stratus platform when injecting hardware
faults to induce xHCI host controller hotplug during driver
initialization.  If a PCI read in xhci_find_next_ext_cap returns the
master abort pattern, quirk_usb_handoff_xhci may start using a bogus
ext_cap_offset to start searching more bogus PCI addresses.

Signed-off-by: Joe Lawrence <joe.lawrence@stratus.com>
Acked-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-04 17:00:10 -08:00
..
whci
Kconfig ARM: SoC support for Tegra platforms for v4.5 2016-01-22 17:30:52 -08:00
Makefile
bcma-hcd.c
ehci-atmel.c
ehci-dbg.c
ehci-exynos.c
ehci-fsl.c
ehci-fsl.h
ehci-grlib.c
ehci-hcd.c
ehci-hub.c
ehci-mem.c
ehci-msm.c
ehci-mv.c
ehci-mxc.c
ehci-omap.c
ehci-orion.c
ehci-pci.c
ehci-platform.c
ehci-pmcmsp.c
ehci-ppc-of.c
ehci-ps3.c
ehci-q.c
ehci-sched.c
ehci-sead3.c
ehci-sh.c
ehci-spear.c
ehci-st.c
ehci-sysfs.c
ehci-tegra.c
ehci-tilegx.c
ehci-timer.c
ehci-w90x900.c
ehci-xilinx-of.c
ehci.h
fhci-dbg.c
fhci-hcd.c
fhci-hub.c
fhci-mem.c
fhci-q.c
fhci-sched.c
fhci-tds.c
fhci.h
fotg210-hcd.c
fotg210.h
fsl-mph-dr-of.c
hwa-hc.c
imx21-dbg.c
imx21-hcd.c
imx21-hcd.h
isp116x-hcd.c
isp116x.h
isp1362-hcd.c
isp1362.h
max3421-hcd.c
ohci-at91.c
ohci-da8xx.c
ohci-dbg.c
ohci-exynos.c
ohci-hcd.c
ohci-hub.c
ohci-jz4740.c
ohci-mem.c
ohci-nxp.c
ohci-omap.c
ohci-omap3.c
ohci-pci.c
ohci-platform.c
ohci-ppc-of.c
ohci-ps3.c
ohci-pxa27x.c
ohci-q.c
ohci-s3c2410.c
ohci-sa1111.c
ohci-sm501.c
ohci-spear.c
ohci-st.c
ohci-tilegx.c
ohci-tmio.c
ohci.h
oxu210hp-hcd.c
oxu210hp.h
pci-quirks.c
pci-quirks.h
r8a66597-hcd.c
r8a66597.h
sl811-hcd.c
sl811.h
sl811_cs.c
ssb-hcd.c
u132-hcd.c
uhci-debug.c
uhci-grlib.c
uhci-hcd.c
uhci-hcd.h
uhci-hub.c
uhci-pci.c
uhci-platform.c
uhci-q.c
xhci-dbg.c
xhci-ext-caps.h xhci: harden xhci_find_next_ext_cap against device removal 2016-02-04 17:00:10 -08:00
xhci-hub.c
xhci-mem.c
xhci-mtk-sch.c usb: xhci-mtk: fix bpkts value of LS/HS periodic eps not behind TT 2016-02-03 14:01:47 -08:00
xhci-mtk.c usb: xhci-mtk: fix AHB bus hang up caused by roothubs polling 2016-02-03 14:01:47 -08:00
xhci-mtk.h
xhci-mvebu.c
xhci-mvebu.h
xhci-pci.c usb: xhci: apply XHCI_PME_STUCK_QUIRK to Intel Broxton-M platforms 2016-02-03 14:01:47 -08:00
xhci-plat.c usb: host: xhci-plat: fix NULL pointer in probe for device tree case 2016-02-03 14:01:47 -08:00
xhci-plat.h
xhci-rcar.c
xhci-rcar.h
xhci-ring.c Revert "xhci: don't finish a TD if we get a short-transfer event mid TD" 2016-02-03 13:55:42 -08:00
xhci-trace.c
xhci-trace.h
xhci.c xhci: Fix list corruption in urb dequeue at host removal 2016-02-03 14:01:47 -08:00
xhci.h usb: xhci: add a quirk bit for ssic port unused 2016-02-03 14:01:47 -08:00