Hi Dan, Thanks for the report. A patch to fix the bug follows: diff --git a/drivers/usb/usbip/vhci_hcd.c b/drivers/usb/usbip/vhci_hcd.c index 64c3860..2c4b2fd 100644 --- a/drivers/usb/usbip/vhci_hcd.c +++ b/drivers/usb/usbip/vhci_hcd.c @@ -1301,7 +1301,7 @@ static struct hc_driver vhci_hc_driver = { static int vhci_hcd_probe(struct platform_device *pdev) { - struct vhci *vhci; + struct vhci *vhci = *((void **)dev_get_platdata(&pdev->dev)); struct usb_hcd *hcd_hs; struct usb_hcd *hcd_ss; int ret; Thanks, Yuyang On Fri, Jun 23, 2017 at 01:46:01PM +0300, Dan Carpenter wrote: > Hello Yuyang Du, > > The patch 03cd00d538a6: "usbip: vhci-hcd: Set the vhci structure up > to work" from Jun 8, 2017, leads to the following static checker > warning: > > drivers/usb/usbip/vhci_hcd.c:1355 vhci_hcd_probe() > error: potentially dereferencing uninitialized 'vhci'. > > drivers/usb/usbip/vhci_hcd.c > 1340 ret = usb_add_hcd(hcd_ss, 0, 0); > 1341 if (ret) { > 1342 pr_err("usb_add_hcd ss failed %d\n", ret); > 1343 goto put_usb3_hcd; > 1344 } > 1345 > 1346 usbip_dbg_vhci_hc("bye\n"); > 1347 return 0; > 1348 > 1349 put_usb3_hcd: > 1350 usb_put_hcd(hcd_ss); > 1351 remove_usb2_hcd: > 1352 usb_remove_hcd(hcd_hs); > 1353 put_usb2_hcd: > 1354 usb_put_hcd(hcd_hs); > 1355 vhci->vhci_hcd_hs = NULL; > ^^^^^^^^^^^^^^^^^ > 1356 vhci->vhci_hcd_ss = NULL; > ^^^^^^^^^^^^^^^^^ > vhci is never initialized. > > 1357 return ret; > 1358 } -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html