Re: [PATCH] usb: host: xhci: Add a NULL check of hcd in xhci_plat_remove()

From: Mathias Nyman
Date: Thu Mar 23 2023 - 08:50:32 EST


On 23.3.2023 10.13, Jia-Ju Bai wrote:
In a previous commit d7de14d74d65 ("usb: xhci_plat_remove: avoid NULL
dereference"), hcd can be NULL in usb_remove_hcd(), and thus it should
be checked before being used.

hcd shouldn't be null in usb_remove_hcd()
That was a bug which was properly fixed shortly after in:

4a593a62a9e3 xhci: Fix null pointer dereference in remove if xHC has only one roothub

I guess commit d7de14d74d65 ("usb: xhci_plat_remove: avoid NULL dereference") Isn't really
needed either anymore, but no harm in keeping it.


However, in the call stack of this commit, hci is also used to get xhci:
> xhci_plat_remove()
xhci = hcd_to_xhci(hcd)
usb_hcd_is_primary_hcd(hcd)
if (!hcd->primary_hcd) -> No check for hcd
primary_hcd = hcd->primary_hcd; -> No check for hcd
usb_remove_hcd(hcd)
if (!hcd) -> Add a check by the previous commit

These hcd checks shouldn't be needed.

Thanks
Mathias