]> git.hungrycats.org Git - linux/commit
[PATCH] sparse (compat_ioctl): raw_ioctl() fixes
authorAlexander Viro <viro@parcelfarce.linux.theplanet.co.uk>
Sat, 29 May 2004 11:42:59 +0000 (04:42 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sat, 29 May 2004 11:42:59 +0000 (04:42 -0700)
commit97d654f7a376331d6599a937e6d8948e55afa1d7
treeeb4d74399501e2d015a3915c6f438f26315d901f
parentdf37a3a3e51b4dec0cbb5c00af2c89006915338a
[PATCH] sparse (compat_ioctl): raw_ioctl() fixes

Whoever had done the translation apparently never heard of
big-endian boxen.  Replaced the kludge with get_user()/put_user() on
64bit values.  Note that
struct raw_config_request
{
        int     raw_minor;
        __u64   block_major;
        __u64   block_minor;
};
has __u64 on _all_ platforms and it is used as an integer in raw.c code.
The only reason why translation is needed at all is alignment for 64bit
values; block_major and block_minor themselves should be passed as-is.

Breakage fixed, entire area annotated.
fs/compat_ioctl.c