summaryrefslogtreecommitdiff
path: root/net/ipv4/ipconfig.c
diff options
context:
space:
mode:
authorJoe Lawrence <joe.lawrence@stratus.com>2016-02-03 12:51:12 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-02-04 17:00:10 -0800
commit89140fdaf11aec81e93d5590a993720f2ef0d26e (patch)
treec7abad88a88cfe4fe2d599eff868a59e18f16f17 /net/ipv4/ipconfig.c
parent207b08b9426dfaa63fcfea4156be0acb5b46ee38 (diff)
downloadlinux-89140fdaf11aec81e93d5590a993720f2ef0d26e.tar.gz
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 d5ddcdf4d672 ("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>
Diffstat (limited to 'net/ipv4/ipconfig.c')
0 files changed, 0 insertions, 0 deletions