• Eric Sandeen's avatar
    [XFS] fix 32-bit compat ioctls for GETXFLAGS, SETXFLAGS, GETVERSION · bc58f9bb
    Eric Sandeen authored
    XFS_IOC_GETVERSION, XFS_IOC_GETXFLAGS and XFS_IOC_SETXFLAGS all take a
    "long" which changes size between 32 and 64 bit platforms.
    
    So, the ioctl cmds that come in from a 32-bit app aren't as expected, for
    example on GETXFLAGS,
    
    unknown cmd fd(3) cmd(80046601){t:'f';sz:4}
    
    due to the size mismatch.
    
    So, use instead the 32-bit version of the commands for compat ioctls, and
    other than that it doesn't take any more manipulation.
    
    Also, for both native and compat versions, just define them to the values
    as defined in fs.h
    
    SGI-PV: 971186
    SGI-Modid: xfs-linux-melb:xfs-kern:29849a
    Signed-off-by: default avatarEric Sandeen <sandeen@sandeen.net>
    Signed-off-by: default avatarLachlan McIlroy <lachlan@sgi.com>
    Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
    bc58f9bb
xfs_ioctl32.c 14.4 KB