diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c index 2be0a978dfbde0f85c8097d15cb4e60194308ed4..123eb173e8c12b424f84e4b06ebb15de85e50b1e 100644 --- a/block/scsi_ioctl.c +++ b/block/scsi_ioctl.c @@ -720,11 +720,14 @@ int scsi_verify_blk_ioctl(struct block_device *bd, unsigned int cmd) break; } + if (capable(CAP_SYS_RAWIO)) + return 0; + /* In particular, rule out all resets and host-specific ioctls. */ printk_ratelimited(KERN_WARNING "%s: sending ioctl %x to a partition!\n", current->comm, cmd); - return capable(CAP_SYS_RAWIO) ? 0 : -ENOTTY; + return -ENOTTY; } EXPORT_SYMBOL(scsi_verify_blk_ioctl);