Linus Torvalds f075dce66c scsi sg: remove incorrect scsi command checking logic
The SCSI_IOCTL_SEND_COMMAND ioctl has interesting scsi command
"security" checking.

If the file was opened read-only (but only in that case), it will
fetch the first byte of the command from user space, and do
"sg_allow_access()" on it.  That, in turn, will check that
"blk_verify_command()" is ok with that command byte.

If that passes, it will then do call "sg_scsi_ioctl()" to execute
the command.

This is entirely nonsensical for several reasons.

It's nonsensical simply because it's racy: after it copies the command
byte from user mode to check it, user mode could just change the byte
before it is actually submitted later by "sg_scsi_ioctl()".

But it is nonsensical also because "sg_scsi_ioctl()" itself already does
blk_verify_command() on the command properly after it has been copied
from user space.

So it is an incorrect implementation of a pointless check. Remove it.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-07-10 17:02:17 -07:00
..
2018-06-14 16:35:32 +09:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-14 16:35:32 +09:00
2018-06-10 13:01:12 -07:00
2018-06-12 16:19:22 -07:00
2018-06-10 13:01:12 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2017-12-04 20:32:53 -05:00
2018-05-01 23:31:40 -04:00
2017-08-25 17:21:11 -04:00
2018-06-12 16:19:22 -07:00
2017-08-24 22:29:06 -04:00
2018-05-18 12:03:51 -04:00
2018-06-14 16:35:32 +09:00
2017-08-25 17:21:10 -04:00
2018-06-18 21:02:52 -04:00
2018-06-12 16:19:22 -07:00
2018-06-10 13:01:12 -07:00
2018-05-16 07:24:30 +02:00
2018-06-10 13:01:12 -07:00
2017-11-14 16:23:44 -08:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-10 13:01:12 -07:00
2018-06-10 13:01:12 -07:00
2017-11-14 16:23:44 -08:00
2017-04-13 13:58:20 -04:00
2018-06-10 13:01:12 -07:00
2018-06-04 07:58:06 -07:00
2018-06-14 16:35:32 +09:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2017-04-26 18:32:29 -04:00
2018-06-10 13:01:12 -07:00
2018-05-01 23:30:12 -04:00