]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net/usb: kalmia: Don't pass act_len in usb_bulk_msg error path
authorMiko Larsson <mikoxyzzz@gmail.com>
Fri, 10 Feb 2023 08:13:44 +0000 (09:13 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Feb 2023 11:47:21 +0000 (12:47 +0100)
commit c68f345b7c425b38656e1791a0486769a8797016 upstream.

syzbot reported that act_len in kalmia_send_init_packet() is
uninitialized when passing it to the first usb_bulk_msg error path. Jiri
Pirko noted that it's pointless to pass it in the error path, and that
the value that would be printed in the second error path would be the
value of act_len from the first call to usb_bulk_msg.[1]

With this in mind, let's just not pass act_len to the usb_bulk_msg error
paths.

1: https://lore.kernel.org/lkml/Y9pY61y1nwTuzMOa@nanopsycho/

Fixes: d40261236e8e ("net/usb: Add Samsung Kalmia driver for Samsung GT-B3730")
Reported-and-tested-by: syzbot+cd80c5ef5121bfe85b55@syzkaller.appspotmail.com
Signed-off-by: Miko Larsson <mikoxyzzz@gmail.com>
Reviewed-by: Alexander Duyck <alexanderduyck@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/usb/kalmia.c

index 0cc6993c279a2c676e6928de7d5aa890e7ae3bbc..93ee909c79395fa54103f42c0c543ab31aa5bd04 100644 (file)
@@ -69,8 +69,8 @@ kalmia_send_init_packet(struct usbnet *dev, u8 *init_msg, u8 init_msg_len,
                init_msg, init_msg_len, &act_len, KALMIA_USB_TIMEOUT);
        if (status != 0) {
                netdev_err(dev->net,
-                       "Error sending init packet. Status %i, length %i\n",
-                       status, act_len);
+                       "Error sending init packet. Status %i\n",
+                       status);
                return status;
        }
        else if (act_len != init_msg_len) {
@@ -87,8 +87,8 @@ kalmia_send_init_packet(struct usbnet *dev, u8 *init_msg, u8 init_msg_len,
 
        if (status != 0)
                netdev_err(dev->net,
-                       "Error receiving init result. Status %i, length %i\n",
-                       status, act_len);
+                       "Error receiving init result. Status %i\n",
+                       status);
        else if (act_len != expected_len)
                netdev_err(dev->net, "Unexpected init result length: %i\n",
                        act_len);