can: kvaser_usb: kvaser_usb_leaf: Fix some info-leaks to USB devices
authorXiaolong Huang <butterflyhuangxx@gmail.com>
Sat, 7 Dec 2019 14:40:24 +0000 (22:40 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 20 Jun 2020 08:25:06 +0000 (10:25 +0200)
commit da2311a6385c3b499da2ed5d9be59ce331fa93e9 upstream.

Uninitialized Kernel memory can leak to USB devices.

Fix this by using kzalloc() instead of kmalloc().

Signed-off-by: Xiaolong Huang <butterflyhuangxx@gmail.com>
Fixes: 7259124eac7d ("can: kvaser_usb: Split driver into kvaser_usb_core.c and kvaser_usb_leaf.c")
Cc: linux-stable <stable@vger.kernel.org> # >= v4.19
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
[bwh: Backported to 4.9: adjust filename, context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/can/usb/kvaser_usb.c

index daed57d3d2097d5f8ad026e5b902811fff3db813..2b994bbf85ca3169139df81c24b54b76093de6db 100644 (file)
@@ -791,7 +791,7 @@ static int kvaser_usb_simple_msg_async(struct kvaser_usb_net_priv *priv,
        if (!urb)
                return -ENOMEM;
 
-       buf = kmalloc(sizeof(struct kvaser_msg), GFP_ATOMIC);
+       buf = kzalloc(sizeof(struct kvaser_msg), GFP_ATOMIC);
        if (!buf) {
                usb_free_urb(urb);
                return -ENOMEM;
@@ -1459,7 +1459,7 @@ static int kvaser_usb_set_opt_mode(const struct kvaser_usb_net_priv *priv)
        struct kvaser_msg *msg;
        int rc;
 
-       msg = kmalloc(sizeof(*msg), GFP_KERNEL);
+       msg = kzalloc(sizeof(*msg), GFP_KERNEL);
        if (!msg)
                return -ENOMEM;
 
@@ -1592,7 +1592,7 @@ static int kvaser_usb_flush_queue(struct kvaser_usb_net_priv *priv)
        struct kvaser_msg *msg;
        int rc;
 
-       msg = kmalloc(sizeof(*msg), GFP_KERNEL);
+       msg = kzalloc(sizeof(*msg), GFP_KERNEL);
        if (!msg)
                return -ENOMEM;