Re: [ 022/108] scsi: Silence unnecessary warnings about ioctl to partition

Paolo Bonzini
2012-07-23T07:31:45Z

Il 23/07/2012 03:07, Ben Hutchings ha scritto:
> 3.2-stable review patch. If anyone has any objections, please let me know.
>
> ------------------
>
> From: Jan Kara <jack@suse.cz>
>
> 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]
> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
> ---
> 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;

Here was the conflict, and you fixed it correctly.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>

> }
> EXPORT_SYMBOL(scsi_verify_blk_ioctl);
>
>
>
>