i2c: dev: copy userspace array safely
Subsystems (2)
Sasha Levin
maintainerPATCH 1/1 i2c: dev: copy userspace array safely
From: Philipp Stanner <[email protected]>
[ Upstream commit cc9c54232f04aef3a5d7f64a0ece7df00f1aaa3d ]
i2c-dev.c utilizes memdup_user() to copy a userspace array. This is done without an overflow check.
Use the new wrapper memdup_array_user() to copy the array more safely.
Suggested-by Dave Airlie <[email protected]>
Signed-off-by Philipp Stanner <[email protected]>
Signed-off-by Wolfram Sang <[email protected]>
Signed-off-by Sasha Levin <[email protected]>
--- drivers/i2c/i2c-dev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/i2c/i2c-dev.c +2 -2
@@ -450,8 +450,8 @@ static long i2cdev_ioctl(struct file *file, unsigned int cmd, unsigned long arg)if (rdwr_arg.nmsgs >I2C_RDWR_IOCTL_MAX_MSGS )return -EINVAL ; - rdwr_pa =memdup_user (rdwr_arg.msgs, - rdwr_arg.nmsgs *sizeof (struct i2c_msg )); + rdwr_pa =memdup_array_user (rdwr_arg.msgs, + rdwr_arg.nmsgs,sizeof (struct i2c_msg ));if (IS_ERR (rdwr_pa))return PTR_ERR (rdwr_pa);
Signature · 1 line
2.42.0