vt_ioctl: return -EFAULT on copy_from_user errors
authorDan Carpenter <error27@gmail.com>
Fri, 4 Jun 2010 10:20:46 +0000 (12:20 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 4 Jun 2010 20:37:18 +0000 (13:37 -0700)
copy_from_user() returns the number of bytes remaining but we want to
return a negative error code here.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/char/vt_ioctl.c

index 6aa10284104aeb6e4bc3a22833ea347e67c5d976..cb19dbc52136426d3b869c089a7153de2c719c7f 100644 (file)
@@ -1303,7 +1303,9 @@ int vt_ioctl(struct tty_struct *tty, struct file * file,
                if (!perm)
                        goto eperm;
                ret = copy_from_user(&ui, up, sizeof(struct unimapinit));
-               if (!ret)
+               if (ret)
+                       ret = -EFAULT;
+               else
                        con_clear_unimap(vc, &ui);
                break;
              }