mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 20:48:49 +08:00
i2c: fix kernel memory disclosure in dev interface
i2c_smbus_xfer() does not always fill an entire block, allowing kernel stack memory disclosure through the temp variable. Clear it before it's read to. Signed-off-by: Vlad Tsyrklevich <vlad@tsyrklevich.net> Signed-off-by: Wolfram Sang <wsa@the-dreams.de> Cc: stable@kernel.org
This commit is contained in:
parent
a121103c92
commit
30f939feae
@ -331,7 +331,7 @@ static noinline int i2cdev_ioctl_smbus(struct i2c_client *client,
|
|||||||
unsigned long arg)
|
unsigned long arg)
|
||||||
{
|
{
|
||||||
struct i2c_smbus_ioctl_data data_arg;
|
struct i2c_smbus_ioctl_data data_arg;
|
||||||
union i2c_smbus_data temp;
|
union i2c_smbus_data temp = {};
|
||||||
int datasize, res;
|
int datasize, res;
|
||||||
|
|
||||||
if (copy_from_user(&data_arg,
|
if (copy_from_user(&data_arg,
|
||||||
|
Loading…
Reference in New Issue
Block a user