47 lines
1.7 KiB
Diff
47 lines
1.7 KiB
Diff
From: Jan Kara <jack@suse.cz>
|
|
Date: Fri, 15 Jun 2012 12:52:46 +0200
|
|
Subject: scsi: Silence unnecessary warnings about ioctl to partition
|
|
|
|
commit 6d9359280753d2955f86d6411047516a9431eb51 upstream.
|
|
|
|
Sometimes, warnings about ioctls to partition happen often enough that they
|
|
form majority of the warnings in the kernel log and users complain. In some
|
|
cases warnings are about ioctls such as SG_IO so it's not good to get rid of
|
|
the warnings completely as they can ease debugging of userspace problems
|
|
when ioctl is refused.
|
|
|
|
Since I have seen warnings from lots of commands, including some proprietary
|
|
userspace applications, I don't think disallowing the ioctls for processes
|
|
with CAP_SYS_RAWIO will happen in the near future if ever. So lets just
|
|
stop warning for processes with CAP_SYS_RAWIO for which ioctl is allowed.
|
|
|
|
CC: Paolo Bonzini <pbonzini@redhat.com>
|
|
CC: James Bottomley <JBottomley@parallels.com>
|
|
CC: linux-scsi@vger.kernel.org
|
|
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Jan Kara <jack@suse.cz>
|
|
Signed-off-by: Jens Axboe <axboe@kernel.dk>
|
|
[bwh: Backported to 3.2: use ENOTTY, not ENOIOCTLCMD]
|
|
---
|
|
block/scsi_ioctl.c | 5 ++++-
|
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
|
|
--- a/block/scsi_ioctl.c
|
|
+++ b/block/scsi_ioctl.c
|
|
@@ -721,11 +721,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);
|
|
|