• Alexander Viro's avatar
    [PATCH] sparse (compat_ioctl): raw_ioctl() fixes · 97d654f7
    Alexander Viro authored
    	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.
    97d654f7
compat_ioctl.c 94.8 KB