Commit c3509715 authored by Yuyang Du's avatar Yuyang Du Committed by Greg Kroah-Hartman

usb: usbip tool: Check the return of get_nports()

If we get nonpositive number of ports, there is no sense to
continue, then fail gracefully.

In addition, the commit 0775a9cb ("usbip: vhci extension:
modifications to vhci driver") introduced configurable numbers of
controllers and ports, but we have a static port number maximum,
MAXNPORT. If exceeded, the idev array will be overflown. We fix
it by validating the nports to make sure the port number max is
not exceeded.
Reviewed-by: default avatarKrzysztof Opasiak <k.opasiak@samsung.com>
Signed-off-by: default avatarYuyang Du <yuyang.du@intel.com>
Acked-by: default avatarShuah Khan <shuahkh@osg.samsung.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b3b51417
...@@ -220,9 +220,16 @@ int usbip_vhci_driver_open(void) ...@@ -220,9 +220,16 @@ int usbip_vhci_driver_open(void)
} }
vhci_driver->nports = get_nports(); vhci_driver->nports = get_nports();
dbg("available ports: %d", vhci_driver->nports); dbg("available ports: %d", vhci_driver->nports);
if (vhci_driver->nports <= 0) {
err("no available ports");
goto err;
} else if (vhci_driver->nports > MAXNPORT) {
err("port number exceeds %d", MAXNPORT);
goto err;
}
if (refresh_imported_device_list()) if (refresh_imported_device_list())
goto err; goto err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment