[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <00000000000071b79406215b1789@google.com>
Date: Thu, 05 Sep 2024 01:29:39 -0700
From: syzbot <syzbot+9d34f80f841e948c3fdb@...kaller.appspotmail.com>
To: linux-kernel@...r.kernel.org
Subject: Re: [syzbot] Re: [syzbot] [usb?] KMSAN: kernel-usb-infoleak in usbtmc_write
For archival purposes, forwarding an incoming command email to
linux-kernel@...r.kernel.org.
***
Subject: Re: [syzbot] [usb?] KMSAN: kernel-usb-infoleak in usbtmc_write
Author: lizhi.xu@...driver.com
Short write.
User input data maybe invalid, clear the data buf of the user data before copying from user.
#syz test
diff --git a/drivers/usb/class/usbtmc.c b/drivers/usb/class/usbtmc.c
index e9ddaa9b580d..65092891ba2c 100644
--- a/drivers/usb/class/usbtmc.c
+++ b/drivers/usb/class/usbtmc.c
@@ -1586,6 +1586,8 @@ static ssize_t usbtmc_write(struct file *filp, const char __user *buf,
aligned = (transfersize + (USBTMC_HEADER_SIZE + 3)) & ~3;
}
+ printk("xf size: %u, count: %u, %s\n", transfersize, count, __func__);
+ memset(&buffer[USBTMC_HEADER_SIZE], 0, count);
if (copy_from_user(&buffer[USBTMC_HEADER_SIZE], buf, transfersize)) {
retval = -EFAULT;
up(&file_data->limit_write_sem);
Powered by blists - more mailing lists