Re: [PATCH resend] compat_ioctl: fix warning caused by qemu

Arnd Bergmann
2011-07-01T14:46:37Z

On Friday 01 July 2011, Johannes Stezenbach wrote:
>
> On Linux x86_64 host with 32bit userspace, running
> qemu or even just "qemu-img create -f qcow2 some.img 1G"
> causes a kernel warning:
>
> ioctl32(qemu-img:5296): Unknown cmd fd(3) cmd(00005326){t:'S';sz:0} arg(7fffffff) on some.img
> ioctl32(qemu-img:5296): Unknown cmd fd(3) cmd(801c0204){t:02;sz:28} arg(fff77350) on some.img
>
> ioctl 00005326 is CDROM_DRIVE_STATUS,
> ioctl 801c0204 is FDGETPRM.
>
> The warning appears because the Linux compat-ioctl handler for these
> ioctls only applies to block devices, while qemu also uses the ioctls on
> plain files.
>
> Signed-off-by: Johannes Stezenbach <js@sig21.net>

Acked-by: Arnd Bergmann <arnd@arndb.de>

> ---
> (resend with Cc: suggested by get_maintainer.pl)
>
> discussed in http://lkml.kernel.org/r/20110617090424.GA19345@sig21.net
>
> Arnd, is this what you had in mind, or did you mean to move
> all floppy compat definitions? I decided to go with the
> minimal change. Tested on both 2.6.39.2 and 3.0-rc5-63-g0d72c6f.

Yes, that should be fine, unless Jens would like to see a different
solution for the struct definitions, e.g. moving all of the floppy
compat ioctl numbers to fd.h. I'm fine with it either way.

Arnd