xhci: Fix NULL pointer dereference in xhci_clear_tt_buffer_complete()
authorMathias Nyman <mathias.nyman@linux.intel.com>
Fri, 4 Oct 2019 11:59:33 +0000 (14:59 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 4 Oct 2019 12:32:12 +0000 (14:32 +0200)
commitcfbb8a84c2d2ef49bccacb511002bca4f6053555
tree9d1026266cf639881ec85127cc7a4585a239d85a
parentac343366846a445bb81f0a0e8f16abb8bd5d5d88
xhci: Fix NULL pointer dereference in xhci_clear_tt_buffer_complete()

udev stored in ep->hcpriv might be NULL if tt buffer is cleared
due to a halted control endpoint during device enumeration

xhci_clear_tt_buffer_complete is called by hub_tt_work() once it's
scheduled,  and by then usb core might have freed and allocated a
new udev for the next enumeration attempt.

Fixes: ef513be0a905 ("usb: xhci: Add Clear_TT_Buffer")
Cc: <stable@vger.kernel.org> # v5.3
Reported-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/1570190373-30684-9-git-send-email-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci.c