mirror of https://gitee.com/openkylin/linux.git
usb: fix cleanup after failure in hub_configure()
If the hub_configure() fails after setting the hdev->maxchild the hub->ports might be NULL or point to uninitialized kzallocated memory causing NULL pointer dereference in hub_quiesce() during cleanup. Now after such error the hdev->maxchild is set to 0 to avoid cleanup of uninitialized ports. Signed-off-by: Krzysztof Mazur <krzysiek@podlesie.net> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
f375fc520d
commit
d0308d4b6b
|
@ -1573,6 +1573,7 @@ static int hub_configure(struct usb_hub *hub,
|
|||
return 0;
|
||||
|
||||
fail:
|
||||
hdev->maxchild = 0;
|
||||
dev_err (hub_dev, "config failed, %s (err %d)\n",
|
||||
message, ret);
|
||||
/* hub_disconnect() frees urb and descriptor */
|
||||
|
|
Loading…
Reference in New Issue