https://github.com/torvalds/linux
Revision bcf42aa60c2832510b9be0f30c090bfd35bb172d authored by Mathias Nyman on 07 September 2016, 14:26:33 UTC, committed by Greg Kroah-Hartman on 08 September 2016, 06:39:46 UTC
The stop endpoint command has its own 5 second timeout timer.
If the timeout function is triggered between USB3 and USB2 host
removal it will try to call usb_hc_died(xhci_to_hcd(xhci)->primary_hcd)

the ->primary_hcd will be set to NULL at USB3 hcd removal.

Fix this by first checking if the PCI host is being removed, and
also by using only xhci_to_hcd() as it will always return the primary
hcd.

CC: <stable@vger.kernel.org>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent c693593
History
Tip revision: bcf42aa60c2832510b9be0f30c090bfd35bb172d authored by Mathias Nyman on 07 September 2016, 14:26:33 UTC
xhci: fix null pointer dereference in stop command timeout function
Tip revision: bcf42aa
File Mode Size
ib.h -rw-r--r-- 3.3 KB
ib_addr.h -rw-r--r-- 9.8 KB
ib_cache.h -rw-r--r-- 6.2 KB
ib_cm.h -rw-r--r-- 18.7 KB
ib_fmr_pool.h -rw-r--r-- 3.4 KB
ib_mad.h -rw-r--r-- 27.3 KB
ib_marshall.h -rw-r--r-- 2.0 KB
ib_pack.h -rw-r--r-- 8.8 KB
ib_pma.h -rw-r--r-- 5.4 KB
ib_sa.h -rw-r--r-- 16.5 KB
ib_smi.h -rw-r--r-- 5.5 KB
ib_umem.h -rw-r--r-- 3.5 KB
ib_umem_odp.h -rw-r--r-- 5.2 KB
ib_verbs.h -rw-r--r-- 95.0 KB
iw_cm.h -rw-r--r-- 8.4 KB
iw_portmap.h -rw-r--r-- 7.5 KB
mr_pool.h -rw-r--r-- 954 bytes
opa_port_info.h -rw-r--r-- 14.7 KB
opa_smi.h -rw-r--r-- 4.4 KB
rdma_cm.h -rw-r--r-- 12.9 KB
rdma_cm_ib.h -rw-r--r-- 2.1 KB
rdma_netlink.h -rw-r--r-- 2.5 KB
rdma_vt.h -rw-r--r-- 14.4 KB
rdmavt_cq.h -rw-r--r-- 3.4 KB
rdmavt_mr.h -rw-r--r-- 4.7 KB
rdmavt_qp.h -rw-r--r-- 16.8 KB
rw.h -rw-r--r-- 2.7 KB

back to top