fs: remove the compat readv/writev syscalls
authorChristoph Hellwig <hch@lst.de>
Fri, 25 Sep 2020 04:51:43 +0000 (06:51 +0200)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 3 Oct 2020 04:02:14 +0000 (00:02 -0400)
Now that import_iovec handles compat iovecs, the native readv and writev
syscalls can be used for the compat case as well.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
17 files changed:
arch/arm64/include/asm/unistd32.h
arch/mips/kernel/syscalls/syscall_n32.tbl
arch/mips/kernel/syscalls/syscall_o32.tbl
arch/parisc/kernel/syscalls/syscall.tbl
arch/powerpc/kernel/syscalls/syscall.tbl
arch/s390/kernel/syscalls/syscall.tbl
arch/sparc/kernel/syscalls/syscall.tbl
arch/x86/entry/syscall_x32.c
arch/x86/entry/syscalls/syscall_32.tbl
arch/x86/entry/syscalls/syscall_64.tbl
fs/read_write.c
include/linux/compat.h
include/uapi/asm-generic/unistd.h
tools/include/uapi/asm-generic/unistd.h
tools/perf/arch/powerpc/entry/syscalls/syscall.tbl
tools/perf/arch/s390/entry/syscalls/syscall.tbl
tools/perf/arch/x86/entry/syscalls/syscall_64.tbl

index 734860a..4a23649 100644 (file)
@@ -301,9 +301,9 @@ __SYSCALL(__NR_flock, sys_flock)
 #define __NR_msync 144
 __SYSCALL(__NR_msync, sys_msync)
 #define __NR_readv 145
-__SYSCALL(__NR_readv, compat_sys_readv)
+__SYSCALL(__NR_readv, sys_readv)
 #define __NR_writev 146
-__SYSCALL(__NR_writev, compat_sys_writev)
+__SYSCALL(__NR_writev, sys_writev)
 #define __NR_getsid 147
 __SYSCALL(__NR_getsid, sys_getsid)
 #define __NR_fdatasync 148
index f9df9ed..c99a926 100644 (file)
@@ -25,8 +25,8 @@
 15     n32     ioctl                           compat_sys_ioctl
 16     n32     pread64                         sys_pread64
 17     n32     pwrite64                        sys_pwrite64
-18     n32     readv                           compat_sys_readv
-19     n32     writev                          compat_sys_writev
+18     n32     readv                           sys_readv
+19     n32     writev                          sys_writev
 20     n32     access                          sys_access
 21     n32     pipe                            sysm_pipe
 22     n32     _newselect                      compat_sys_select
index 195b43c..075064d 100644 (file)
 142    o32     _newselect                      sys_select                      compat_sys_select
 143    o32     flock                           sys_flock
 144    o32     msync                           sys_msync
-145    o32     readv                           sys_readv                       compat_sys_readv
-146    o32     writev                          sys_writev                      compat_sys_writev
+145    o32     readv                           sys_readv
+146    o32     writev                          sys_writev
 147    o32     cacheflush                      sys_cacheflush
 148    o32     cachectl                        sys_cachectl
 149    o32     sysmips                         __sys_sysmips
index def64d2..192abde 100644 (file)
 142    common  _newselect              sys_select                      compat_sys_select
 143    common  flock                   sys_flock
 144    common  msync                   sys_msync
-145    common  readv                   sys_readv                       compat_sys_readv
-146    common  writev                  sys_writev                      compat_sys_writev
+145    common  readv                   sys_readv
+146    common  writev                  sys_writev
 147    common  getsid                  sys_getsid
 148    common  fdatasync               sys_fdatasync
 149    common  _sysctl                 sys_ni_syscall
index c2d737f..6f1e2ec 100644 (file)
 142    common  _newselect                      sys_select                      compat_sys_select
 143    common  flock                           sys_flock
 144    common  msync                           sys_msync
-145    common  readv                           sys_readv                       compat_sys_readv
-146    common  writev                          sys_writev                      compat_sys_writev
+145    common  readv                           sys_readv
+146    common  writev                          sys_writev
 147    common  getsid                          sys_getsid
 148    common  fdatasync                       sys_fdatasync
 149    nospu   _sysctl                         sys_ni_syscall
index 10456bc..6101cf2 100644 (file)
 142  64                select                  sys_select                      -
 143  common    flock                   sys_flock                       sys_flock
 144  common    msync                   sys_msync                       sys_msync
-145  common    readv                   sys_readv                       compat_sys_readv
-146  common    writev                  sys_writev                      compat_sys_writev
+145  common    readv                   sys_readv                       sys_readv
+146  common    writev                  sys_writev                      sys_writev
 147  common    getsid                  sys_getsid                      sys_getsid
 148  common    fdatasync               sys_fdatasync                   sys_fdatasync
 149  common    _sysctl                 -                               -
index 4af114e..a87ddb2 100644 (file)
 117    common  getrusage               sys_getrusage                   compat_sys_getrusage
 118    common  getsockopt              sys_getsockopt                  sys_getsockopt
 119    common  getcwd                  sys_getcwd
-120    common  readv                   sys_readv                       compat_sys_readv
-121    common  writev                  sys_writev                      compat_sys_writev
+120    common  readv                   sys_readv
+121    common  writev                  sys_writev
 122    common  settimeofday            sys_settimeofday                compat_sys_settimeofday
 123    32      fchown                  sys_fchown16
 123    64      fchown                  sys_fchown
index 1583831..aa32144 100644 (file)
@@ -12,6 +12,8 @@
  * Reuse the 64-bit entry points for the x32 versions that occupy different
  * slots in the syscall table.
  */
+#define __x32_sys_readv                __x64_sys_readv
+#define __x32_sys_writev       __x64_sys_writev
 #define __x32_sys_getsockopt   __x64_sys_getsockopt
 #define __x32_sys_setsockopt   __x64_sys_setsockopt
 
index 9d11028..54ab4be 100644 (file)
 142    i386    _newselect              sys_select                      compat_sys_select
 143    i386    flock                   sys_flock
 144    i386    msync                   sys_msync
-145    i386    readv                   sys_readv                       compat_sys_readv
-146    i386    writev                  sys_writev                      compat_sys_writev
+145    i386    readv                   sys_readv
+146    i386    writev                  sys_writev
 147    i386    getsid                  sys_getsid
 148    i386    fdatasync               sys_fdatasync
 149    i386    _sysctl                 sys_ni_syscall
index f30d6ae..b1e5995 100644 (file)
 512    x32     rt_sigaction            compat_sys_rt_sigaction
 513    x32     rt_sigreturn            compat_sys_x32_rt_sigreturn
 514    x32     ioctl                   compat_sys_ioctl
-515    x32     readv                   compat_sys_readv
-516    x32     writev                  compat_sys_writev
+515    x32     readv                   sys_readv
+516    x32     writev                  sys_writev
 517    x32     recvfrom                compat_sys_recvfrom
 518    x32     sendmsg                 compat_sys_sendmsg
 519    x32     recvmsg                 compat_sys_recvmsg
index eab427b..6c13f74 100644 (file)
@@ -1074,13 +1074,6 @@ SYSCALL_DEFINE6(pwritev2, unsigned long, fd, const struct iovec __user *, vec,
  * in_compat_syscall().
  */
 #ifdef CONFIG_COMPAT
-COMPAT_SYSCALL_DEFINE3(readv, compat_ulong_t, fd,
-               const struct iovec __user *, vec,
-               compat_ulong_t, vlen)
-{
-       return do_readv(fd, vec, vlen, 0);
-}
-
 #ifdef __ARCH_WANT_COMPAT_SYS_PREADV64
 COMPAT_SYSCALL_DEFINE4(preadv64, unsigned long, fd,
                const struct iovec __user *, vec,
@@ -1122,13 +1115,6 @@ COMPAT_SYSCALL_DEFINE6(preadv2, compat_ulong_t, fd,
        return do_preadv(fd, vec, vlen, pos, flags);
 }
 
-COMPAT_SYSCALL_DEFINE3(writev, compat_ulong_t, fd,
-               const struct iovec __user *, vec,
-               compat_ulong_t, vlen)
-{
-       return do_writev(fd, vec, vlen, 0);
-}
-
 #ifdef __ARCH_WANT_COMPAT_SYS_PWRITEV64
 COMPAT_SYSCALL_DEFINE4(pwritev64, unsigned long, fd,
                const struct iovec __user *, vec,
index 36b5842..07268fc 100644 (file)
@@ -545,10 +545,6 @@ asmlinkage long compat_sys_getdents(unsigned int fd,
 
 /* fs/read_write.c */
 asmlinkage long compat_sys_lseek(unsigned int, compat_off_t, unsigned int);
-asmlinkage ssize_t compat_sys_readv(compat_ulong_t fd,
-               const struct iovec __user *vec, compat_ulong_t vlen);
-asmlinkage ssize_t compat_sys_writev(compat_ulong_t fd,
-               const struct iovec __user *vec, compat_ulong_t vlen);
 /* No generic prototype for pread64 and pwrite64 */
 asmlinkage ssize_t compat_sys_preadv(compat_ulong_t fd,
                const struct iovec __user *vec,
index 995b36c..211c9ea 100644 (file)
@@ -207,9 +207,9 @@ __SYSCALL(__NR_read, sys_read)
 #define __NR_write 64
 __SYSCALL(__NR_write, sys_write)
 #define __NR_readv 65
-__SC_COMP(__NR_readv, sys_readv, compat_sys_readv)
+__SC_COMP(__NR_readv, sys_readv, sys_readv)
 #define __NR_writev 66
-__SC_COMP(__NR_writev, sys_writev, compat_sys_writev)
+__SC_COMP(__NR_writev, sys_writev, sys_writev)
 #define __NR_pread64 67
 __SC_COMP(__NR_pread64, sys_pread64, compat_sys_pread64)
 #define __NR_pwrite64 68
index 995b36c..211c9ea 100644 (file)
@@ -207,9 +207,9 @@ __SYSCALL(__NR_read, sys_read)
 #define __NR_write 64
 __SYSCALL(__NR_write, sys_write)
 #define __NR_readv 65
-__SC_COMP(__NR_readv, sys_readv, compat_sys_readv)
+__SC_COMP(__NR_readv, sys_readv, sys_readv)
 #define __NR_writev 66
-__SC_COMP(__NR_writev, sys_writev, compat_sys_writev)
+__SC_COMP(__NR_writev, sys_writev, sys_writev)
 #define __NR_pread64 67
 __SC_COMP(__NR_pread64, sys_pread64, compat_sys_pread64)
 #define __NR_pwrite64 68
index 3ca6fe0..46be680 100644 (file)
 142    common  _newselect                      sys_select                      compat_sys_select
 143    common  flock                           sys_flock
 144    common  msync                           sys_msync
-145    common  readv                           sys_readv                       compat_sys_readv
-146    common  writev                          sys_writev                      compat_sys_writev
+145    common  readv                           sys_readv
+146    common  writev                          sys_writev
 147    common  getsid                          sys_getsid
 148    common  fdatasync                       sys_fdatasync
 149    nospu   _sysctl                         sys_ni_syscall
index 6a0bbea..fb5e61c 100644 (file)
 142  64                select                  sys_select                      -
 143  common    flock                   sys_flock                       sys_flock
 144  common    msync                   sys_msync                       compat_sys_msync
-145  common    readv                   sys_readv                       compat_sys_readv
-146  common    writev                  sys_writev                      compat_sys_writev
+145  common    readv                   sys_readv
+146  common    writev                  sys_writev
 147  common    getsid                  sys_getsid                      sys_getsid
 148  common    fdatasync               sys_fdatasync                   sys_fdatasync
 149  common    _sysctl                 -                               -
index f30d6ae..b1e5995 100644 (file)
 512    x32     rt_sigaction            compat_sys_rt_sigaction
 513    x32     rt_sigreturn            compat_sys_x32_rt_sigreturn
 514    x32     ioctl                   compat_sys_ioctl
-515    x32     readv                   compat_sys_readv
-516    x32     writev                  compat_sys_writev
+515    x32     readv                   sys_readv
+516    x32     writev                  sys_writev
 517    x32     recvfrom                compat_sys_recvfrom
 518    x32     sendmsg                 compat_sys_sendmsg
 519    x32     recvmsg                 compat_sys_recvmsg