• Arnd Bergmann's avatar
    compat_ioctl: simplify the implementation · 77b90401
    Arnd Bergmann authored
    Now that both native and compat ioctl syscalls are
    in the same file, a couple of simplifications can
    be made, bringing the implementation closer together:
    
    - do_vfs_ioctl(), ioctl_preallocate(), and compat_ioctl_preallocate()
      can become static, allowing the compiler to optimize better
    
    - slightly update the coding style for consistency between
      the functions.
    
    - rather than listing each command in two switch statements
      for the compat case, just call a single function that has
      all the common commands.
    
    As a side-effect, FS_IOC_RESVSP/FS_IOC_RESVSP64 are now available
    to x86 compat tasks, along with FS_IOC_RESVSP_32/FS_IOC_RESVSP64_32.
    This is harmless for i386 emulation, and can be considered a bugfix
    for x32 emulation, which never supported these in the past.
    Reviewed-by: default avatarBen Hutchings <ben.hutchings@codethink.co.uk>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    77b90401
ioctl.c 21.2 KB