[PATCH net] net: hso: bail out on interrupt URB allocation failure

Subsystems: hso 3g modem driver, networking drivers, the rest, usb networking drivers

STALE1913d

3 messages, 3 authors, 2021-05-19 · open the first message on its own page

[PATCH net] net: hso: bail out on interrupt URB allocation failure

From: Johan Hovold <johan@kernel.org>
Date: 2021-05-19 12:47:51

Commit 31db0dbd7244 ("net: hso: check for allocation failure in
hso_create_bulk_serial_device()") recently started returning an error
when the driver fails to allocate resources for the interrupt endpoint
and tiocmget functionality.

For consistency let's bail out from probe also if the URB allocation
fails.

Signed-off-by: Johan Hovold <johan@kernel.org>
---
 drivers/net/usb/hso.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index 260f850d69eb..b48b2a25210c 100644
--- a/drivers/net/usb/hso.c
+++ b/drivers/net/usb/hso.c
@@ -2635,14 +2635,14 @@ static struct hso_device *hso_create_bulk_serial_device(
 		}
 
 		tiocmget->urb = usb_alloc_urb(0, GFP_KERNEL);
-		if (tiocmget->urb) {
-			mutex_init(&tiocmget->mutex);
-			init_waitqueue_head(&tiocmget->waitq);
-		} else
-			hso_free_tiomget(serial);
-	}
-	else
+		if (!tiocmget->urb)
+			goto exit;
+
+		mutex_init(&tiocmget->mutex);
+		init_waitqueue_head(&tiocmget->waitq);
+	} else {
 		num_urbs = 1;
+	}
 
 	if (hso_serial_common_create(serial, num_urbs, BULK_URB_RX_SIZE,
 				     BULK_URB_TX_SIZE))
-- 
2.26.3

Re: [PATCH net] net: hso: bail out on interrupt URB allocation failure

From: Dan Carpenter <hidden>
Date: 2021-05-19 13:23:20

On Wed, May 19, 2021 at 02:47:17PM +0200, Johan Hovold wrote:
quoted hunk
Commit 31db0dbd7244 ("net: hso: check for allocation failure in
hso_create_bulk_serial_device()") recently started returning an error
when the driver fails to allocate resources for the interrupt endpoint
and tiocmget functionality.

For consistency let's bail out from probe also if the URB allocation
fails.

Signed-off-by: Johan Hovold <johan@kernel.org>
---
 drivers/net/usb/hso.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index 260f850d69eb..b48b2a25210c 100644
--- a/drivers/net/usb/hso.c
+++ b/drivers/net/usb/hso.c
@@ -2635,14 +2635,14 @@ static struct hso_device *hso_create_bulk_serial_device(
 		}
 
 		tiocmget->urb = usb_alloc_urb(0, GFP_KERNEL);
-		if (tiocmget->urb) {
-			mutex_init(&tiocmget->mutex);
-			init_waitqueue_head(&tiocmget->waitq);
-		} else
-			hso_free_tiomget(serial);
Thanks!  The original code works, but it's so suspicious looking because
you would think hso_free_tiomget() lead to a use after free later.

Reviewed-by: Dan Carpenter <redacted>

regards,
dan carpenter

Re: [PATCH net] net: hso: bail out on interrupt URB allocation failure

From: patchwork-bot+netdevbpf@kernel.org
Date: 2021-05-19 20:20:14

Hello:

This patch was applied to netdev/net.git (refs/heads/master):

On Wed, 19 May 2021 14:47:17 +0200 you wrote:
Commit 31db0dbd7244 ("net: hso: check for allocation failure in
hso_create_bulk_serial_device()") recently started returning an error
when the driver fails to allocate resources for the interrupt endpoint
and tiocmget functionality.

For consistency let's bail out from probe also if the URB allocation
fails.

[...]
Here is the summary with links:
  - [net] net: hso: bail out on interrupt URB allocation failure
    https://git.kernel.org/netdev/net/c/4d52ebc7ace4

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help