Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9151b398 authored by Dan Carpenter's avatar Dan Carpenter Committed by Linus Torvalds
Browse files

i2o: check copy_from_user() size parameter



Limit the size of the copy so we don't corrupt memory.  Hopefully this
can only be called by root, but fixing this makes the static checkers
happier.

Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Masanari Iida <standby24x7@gmail.com>
Cc: Alan Cox <alan@linux.intel.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 79bae42d
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -687,6 +687,11 @@ static int i2o_cfg_passthru32(struct file *file, unsigned cmnd,
		}
		size = size >> 16;
		size *= 4;
		if (size > sizeof(rmsg)) {
			rcode = -EINVAL;
			goto sg_list_cleanup;
		}

		/* Copy in the user's I2O command */
		if (copy_from_user(rmsg, user_msg, size)) {
			rcode = -EFAULT;
@@ -922,6 +927,11 @@ static int i2o_cfg_passthru(unsigned long arg)
		}
		size = size >> 16;
		size *= 4;
		if (size > sizeof(rmsg)) {
			rcode = -EFAULT;
			goto sg_list_cleanup;
		}

		/* Copy in the user's I2O command */
		if (copy_from_user(rmsg, user_msg, size)) {
			rcode = -EFAULT;