UPSTREAM: USB: gadget: zero allocate endpoint 0 buffers
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Dec 2021 18:02:15 +0000 (19:02 +0100)
committerGreg Kroah-Hartman <gregkh@google.com>
Mon, 13 Dec 2021 13:06:43 +0000 (14:06 +0100)
Under some conditions, USB gadget devices can show allocated buffer
contents to a host.  Fix this up by zero-allocating them so that any
extra data will all just be zeros.

Reported-by: Szymon Heidrich <szymon.heidrich@gmail.com>
Tested-by: Szymon Heidrich <szymon.heidrich@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 86ebbc11bb3f60908a51f3e41a17e3f477c2eaa3)
Bug: 210292367
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I72b4376cd4296a8b8af0ade2d702cd420146f3aa
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/usb/gadget/composite.c
drivers/usb/gadget/legacy/dbgp.c

index 2f2f6b71e2482fe8d8fc1a43192f992011021aaa..0553e69b7a574e02917df4b8bbb650d199e2e59a 100644 (file)
@@ -2197,7 +2197,7 @@ int composite_dev_prepare(struct usb_composite_driver *composite,
        if (!cdev->req)
                return -ENOMEM;
 
-       cdev->req->buf = kmalloc(USB_COMP_EP0_BUFSIZ, GFP_KERNEL);
+       cdev->req->buf = kzalloc(USB_COMP_EP0_BUFSIZ, GFP_KERNEL);
        if (!cdev->req->buf)
                goto fail;
 
index ed19c12bea250e4ec611223d76a0ab3b8235b2df..f1c5a22704b2814bf0926586851a756ce389f36a 100644 (file)
@@ -136,7 +136,7 @@ static int dbgp_enable_ep_req(struct usb_ep *ep)
                goto fail_1;
        }
 
-       req->buf = kmalloc(DBGP_REQ_LEN, GFP_KERNEL);
+       req->buf = kzalloc(DBGP_REQ_LEN, GFP_KERNEL);
        if (!req->buf) {
                err = -ENOMEM;
                stp = 2;