Re: [Bug 14537] New: missing compat_ioctl on x86_64

From: Thomas Gleixner
Date: Wed Nov 04 2009 - 06:44:32 EST


B1;2005;0c(switched to email. Please respond via emailed reply-to-all, not via the
bugzilla web interface).

On Tue, 3 Nov 2009, bugzilla-daemon@xxxxxxxxxxxxxxxxxxx wrote:

> http://bugzilla.kernel.org/show_bug.cgi?id=14537
>
> Summary: missing compat_ioctl on x86_64
> Product: Platform Specific/Hardware
> Version: 2.5
> Platform: All
> OS/Version: Linux
> Tree: Mainline
> Status: NEW
> Severity: normal
> Priority: P1
> Component: x86-64
> AssignedTo: platform_x86_64@xxxxxxxxxxxxxxxxxxxx
> ReportedBy: tvignaud@xxxxxxxxxxxx
> Regression: No
>
>
> I used to run 64bit userspace on 64bit kernel but I recently tried to run a
> 64bit kernel with as minimal as possible as 64bit userspace (that is
> rpm+glibc+... in order to mananage 64bit kernel packages).
>
> This revealed several missing compat_ioctl.
> Running 32bit gnome-terminal on a 64 bit kernel results in the following in
> dmesg:
>
> - with gnome-terminal:
> ioctl32(gnome-terminal:1755): Unknown cmd fd(19) cmd(0000530b){t:'S';sz:0}
> arg(48111345) on /dev/pts/0
> ioctl32(gnome-terminal:1755): Unknown cmd fd(19) cmd(0000530b){t:'S';sz:0}
> arg(4811134a) on /dev/pts/0
> ioctl32(gnome-terminal:1755): Unknown cmd fd(19) cmd(0000530b){t:'S';sz:0}
> arg(48111351) on /dev/pts/0

That looks more like an application problem. 'S' is SNDRV_SEQ_IOCTL
which has no ioctl nr 0xb. Also I have no idea why a sound sequencer
ioctl should work on /dev/pts/0 :)

> - with X:
> ioctl32(X:2803): Unknown cmd fd(0) cmd(40086408){t:'d';sz:8} arg(ff840a68) on
> /var/log/Xorg.0.log
> ioctl32(X:2803): Unknown cmd fd(0) cmd(40086408){t:'d';sz:8} arg(ff840a68) on
> /var/log/Xorg.0.log

'd' is used by pcmcia and DRM. DRM sounds more likely for X, but I
have a hard time to understand why a DRM ioctl should work on
/var/log/Xorg.0.log :)

For both gnome-terminal and X strace should tell you more.

> - when trying to suspend:
> ioctl32(s2disk:8164): Unknown cmd fd(4) cmd(400c330d){t:'3';sz:12}
> arg(ffc190ec) on /dev/snapshot
> ioctl32(s2disk:8164): Unknown cmd fd(4) cmd(4004330a){t:'3';sz:4} arg(00000806)
> on /dev/snapshot

snapshot_ioctl seems to lack compat support completely. Raphael ??

> Of course we'd better run 64bit userspace on 64bit kernel but 32bit
> applications are supposed to still work.
> Some may say some of them are too hardware specific but still it would be best
> to fix them...
>
> Tested with 2.6.31.5 and 2.6.32-rc5.

Thanks,

tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/