From: Xiaolong Huang <[email protected]>

commit da2311a6385c3b499da2ed5d9be59ce331fa93e9 upstream.

Uninitialized Kernel memory can leak to USB devices.

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

Signed-off-by: Xiaolong Huang <[email protected]>
Fixes: 7259124eac7d ("can: kvaser_usb: Split driver into kvaser_usb_core.c and 
kvaser_usb_leaf.c")
Cc: linux-stable <[email protected]> # >= v4.19
Signed-off-by: Marc Kleine-Budde <[email protected]>
[bwh: Backported to 4.9: adjust filename, context]
Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 drivers/net/can/usb/kvaser_usb.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- a/drivers/net/can/usb/kvaser_usb.c
+++ b/drivers/net/can/usb/kvaser_usb.c
@@ -787,7 +787,7 @@ static int kvaser_usb_simple_msg_async(s
                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;
@@ -1457,7 +1457,7 @@ static int kvaser_usb_set_opt_mode(const
        struct kvaser_msg *msg;
        int rc;
 
-       msg = kmalloc(sizeof(*msg), GFP_KERNEL);
+       msg = kzalloc(sizeof(*msg), GFP_KERNEL);
        if (!msg)
                return -ENOMEM;
 
@@ -1590,7 +1590,7 @@ static int kvaser_usb_flush_queue(struct
        struct kvaser_msg *msg;
        int rc;
 
-       msg = kmalloc(sizeof(*msg), GFP_KERNEL);
+       msg = kzalloc(sizeof(*msg), GFP_KERNEL);
        if (!msg)
                return -ENOMEM;
 


Reply via email to