scsi: sg: sg_new_write(): replace access_ok() + __copy_from_user() with copy_from_user()
authorAl Viro <viro@zeniv.linux.org.uk>
Thu, 17 Oct 2019 19:39:19 +0000 (20:39 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 6 Nov 2019 05:04:03 +0000 (00:04 -0500)
Link: https://lore.kernel.org/r/20191017193925.25539-2-viro@ZenIV.linux.org.uk
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Douglas Gilbert <dgilbert@interlog.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/sg.c

index 6344604..026628a 100644 (file)
@@ -763,11 +763,7 @@ sg_new_write(Sg_fd *sfp, struct file *file, const char __user *buf,
                sg_remove_request(sfp, srp);
                return -EMSGSIZE;
        }
-       if (!access_ok(hp->cmdp, hp->cmd_len)) {
-               sg_remove_request(sfp, srp);
-               return -EFAULT; /* protects following copy_from_user()s + get_user()s */
-       }
-       if (__copy_from_user(cmnd, hp->cmdp, hp->cmd_len)) {
+       if (copy_from_user(cmnd, hp->cmdp, hp->cmd_len)) {
                sg_remove_request(sfp, srp);
                return -EFAULT;
        }