mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
USB: usbfs: fix potential infoleak in devio
The stack object “ci” has a total size of 8 bytes. Its last 3 bytes are padding bytes which are not initialized and leaked to userland via “copy_to_user”. Bug: 28619695 Change-Id: I170754d659d0891c075f85211b5e3970b114f097 Signed-off-by: Kangjie Lu <kjlu@gatech.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
93c8c4ae98
commit
17b1ccf822
1 changed files with 5 additions and 4 deletions
|
@ -1035,10 +1035,11 @@ static int proc_getdriver(struct dev_state *ps, void __user *arg)
|
||||||
|
|
||||||
static int proc_connectinfo(struct dev_state *ps, void __user *arg)
|
static int proc_connectinfo(struct dev_state *ps, void __user *arg)
|
||||||
{
|
{
|
||||||
struct usbdevfs_connectinfo ci = {
|
struct usbdevfs_connectinfo ci;
|
||||||
.devnum = ps->dev->devnum,
|
|
||||||
.slow = ps->dev->speed == USB_SPEED_LOW
|
memset(&ci, 0, sizeof(ci));
|
||||||
};
|
ci.devnum = ps->dev->devnum;
|
||||||
|
ci.slow = ps->dev->speed == USB_SPEED_LOW;
|
||||||
|
|
||||||
if (copy_to_user(arg, &ci, sizeof(ci)))
|
if (copy_to_user(arg, &ci, sizeof(ci)))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
Loading…
Reference in a new issue