xhci: fix possible null pointer dereference at secondary interrupter removal
authorMathias Nyman <mathias.nyman@linux.intel.com>
Thu, 25 Jan 2024 15:27:34 +0000 (17:27 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 28 Jan 2024 00:28:35 +0000 (16:28 -0800)
commita54a594d72f25b08f39d743880a76721fba9ae77
tree6b7c64c97f8aa79f6a2753e374145a4ff22926ca
parent9dc292413c56a2d01e34787d3fc4a76635e4a498
xhci: fix possible null pointer dereference at secondary interrupter removal

Don't try to remove a secondary interrupter that is known to be invalid.
Also check if the interrupter is valid inside the spinlock that protects
the array of interrupters.

Found by smatch static checker

Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/linux-usb/ffaa0a1b-5984-4a1f-bfd3-9184630a97b9@moroto.mountain/
Fixes: c99b38c41234 ("xhci: add support to allocate several interrupters")
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20240125152737.2983959-2-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-mem.c