From aa9b48f2b413e2f5432fc5d34488e19660fc6e70 Mon Sep 17 00:00:00 2001 From: Sai Krishna Juturi Date: Wed, 17 May 2017 11:06:35 +0530 Subject: [PATCH] usb : dwc3: Initialize kernel stack variables properly If kernel stack variables are not initialized properly, there is a chance of kernel information disclosure. So, initialize kernel stack variables with null characters. CRs-fixed: 2042592 Change-Id: I213c0e5c7f67824c2cecace276ff2f8f81599d51 Signed-off-by: Sai Krishna Juturi --- drivers/usb/dwc3/debugfs.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/usb/dwc3/debugfs.c b/drivers/usb/dwc3/debugfs.c index 20ac60d6b6a8..940d163788a8 100644 --- a/drivers/usb/dwc3/debugfs.c +++ b/drivers/usb/dwc3/debugfs.c @@ -401,7 +401,7 @@ static ssize_t dwc3_mode_write(struct file *file, struct dwc3 *dwc = s->private; unsigned long flags; u32 mode = 0; - char buf[32]; + char buf[32] = {}; if (copy_from_user(&buf, ubuf, min_t(size_t, sizeof(buf) - 1, count))) return -EFAULT; @@ -481,7 +481,7 @@ static ssize_t dwc3_testmode_write(struct file *file, struct dwc3 *dwc = s->private; unsigned long flags; u32 testmode = 0; - char buf[32]; + char buf[32] = {}; if (copy_from_user(&buf, ubuf, min_t(size_t, sizeof(buf) - 1, count))) return -EFAULT; @@ -588,7 +588,7 @@ static ssize_t dwc3_link_state_write(struct file *file, struct dwc3 *dwc = s->private; unsigned long flags; enum dwc3_link_state state = 0; - char buf[32]; + char buf[32] = {}; if (copy_from_user(&buf, ubuf, min_t(size_t, sizeof(buf) - 1, count))) return -EFAULT; @@ -629,12 +629,10 @@ static ssize_t dwc3_store_ep_num(struct file *file, const char __user *ubuf, { struct seq_file *s = file->private_data; struct dwc3 *dwc = s->private; - char kbuf[10]; + char kbuf[10] = {}; unsigned int num, dir, temp; unsigned long flags; - memset(kbuf, 0, 10); - if (copy_from_user(kbuf, ubuf, count > 10 ? 10 : count)) return -EFAULT;