[PATCH net] usbnet: fix error return code in usbnet_probe()

Subsystems: networking drivers, the rest, usb "usbnet" driver framework, usb networking drivers

STALE1756d

3 messages, 2 authors, 2021-10-26 · open the first message on its own page

[PATCH net] usbnet: fix error return code in usbnet_probe()

From: Wang Hai <hidden>
Date: 2021-10-26 11:07:34

Return error code if usb_maxpacket() returns 0 in usbnet_probe().

Fixes: 397430b50a36 ("usbnet: sanity check for maxpacket")
Reported-by: Hulk Robot <redacted>
Signed-off-by: Wang Hai <redacted>
---
 drivers/net/usb/usbnet.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index 80432ee0ce69..fb5bf7d36d50 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -1790,6 +1790,7 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)
 	dev->maxpacket = usb_maxpacket (dev->udev, dev->out, 1);
 	if (dev->maxpacket == 0) {
 		/* that is a broken device */
+		status = -EINVAL;
 		goto out4;
 	}
 
-- 
2.25.1

Re: [PATCH net] usbnet: fix error return code in usbnet_probe()

From: Johan Hovold <johan@kernel.org>
Date: 2021-10-26 11:54:58

On Tue, Oct 26, 2021 at 07:25:26PM +0800, Wang Hai wrote:
Return error code if usb_maxpacket() returns 0 in usbnet_probe().

Fixes: 397430b50a36 ("usbnet: sanity check for maxpacket")
Reported-by: Hulk Robot <redacted>
Signed-off-by: Wang Hai <redacted>
---
Good catch. This is embarrassing. I double checked the error path but
failed to notice the missing return value.
quoted hunk
 drivers/net/usb/usbnet.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index 80432ee0ce69..fb5bf7d36d50 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -1790,6 +1790,7 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)
 	dev->maxpacket = usb_maxpacket (dev->udev, dev->out, 1);
 	if (dev->maxpacket == 0) {
 		/* that is a broken device */
+		status = -EINVAL;
But please use -ENODEV here. -EINVAL is typically reserved for bad user
input.
 		goto out4;
 	}
Johan

Re: [PATCH net] usbnet: fix error return code in usbnet_probe()

From: wanghai (M) <hidden>
Date: 2021-10-26 12:17:44

在 2021/10/26 19:54, Johan Hovold 写道:
On Tue, Oct 26, 2021 at 07:25:26PM +0800, Wang Hai wrote:
quoted
Return error code if usb_maxpacket() returns 0 in usbnet_probe().

Fixes: 397430b50a36 ("usbnet: sanity check for maxpacket")
Reported-by: Hulk Robot <redacted>
Signed-off-by: Wang Hai <redacted>
---
Good catch. This is embarrassing. I double checked the error path but
failed to notice the missing return value.
quoted
  drivers/net/usb/usbnet.c | 1 +
  1 file changed, 1 insertion(+)
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index 80432ee0ce69..fb5bf7d36d50 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -1790,6 +1790,7 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)
  	dev->maxpacket = usb_maxpacket (dev->udev, dev->out, 1);
  	if (dev->maxpacket == 0) {
  		/* that is a broken device */
+		status = -EINVAL;
But please use -ENODEV here. -EINVAL is typically reserved for bad user
input.
Ok, I will send v2
quoted
  		goto out4;
  	}
Johan
.
-- 
Wang Hai
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help