scsi: bsg: Remove support for SCSI_IOCTL_SEND_COMMAND
authorChristoph Hellwig <hch@lst.de>
Sat, 24 Jul 2021 07:20:10 +0000 (09:20 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 29 Jul 2021 02:24:10 +0000 (22:24 -0400)
SCSI_IOCTL_SEND_COMMAND has been deprecated longer than bsg exists and has
been warning for just as long.  More importantly it harcodes SCSI CDBs and
thus will do the wrong thing on non-SCSI bsg nodes.

Link: https://lore.kernel.org/r/20210724072033.1284840-2-hch@lst.de
Fixes: aa387cc89567 ("block: add bsg helper library")
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Acked-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
block/bsg.c

index 1f19656..79b42c5 100644 (file)
@@ -373,10 +373,13 @@ static long bsg_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
        case SG_GET_RESERVED_SIZE:
        case SG_SET_RESERVED_SIZE:
        case SG_EMULATED_HOST:
-       case SCSI_IOCTL_SEND_COMMAND:
                return scsi_cmd_ioctl(bd->queue, NULL, file->f_mode, cmd, uarg);
        case SG_IO:
                return bsg_sg_io(bd->queue, file->f_mode, uarg);
+       case SCSI_IOCTL_SEND_COMMAND:
+               pr_warn_ratelimited("%s: calling unsupported SCSI_IOCTL_SEND_COMMAND\n",
+                               current->comm);
+               return -EINVAL;
        default:
                return -ENOTTY;
        }