| From 4135ebc2076a72c3ad10d0102e8ebc82140abf8d Mon Sep 17 00:00:00 2001 |
| From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Date: Sun, 24 May 2020 12:36:21 +0200 |
| Subject: [PATCH 2/4] arch: wire up the readfile syscall |
| |
| This wires up the readfile syscall for all architectures |
| |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/alpha/kernel/syscalls/syscall.tbl | 1 + |
| arch/arm/tools/syscall.tbl | 1 + |
| arch/arm64/include/asm/unistd.h | 2 +- |
| arch/arm64/include/asm/unistd32.h | 2 ++ |
| arch/ia64/kernel/syscalls/syscall.tbl | 1 + |
| arch/m68k/kernel/syscalls/syscall.tbl | 1 + |
| arch/microblaze/kernel/syscalls/syscall.tbl | 1 + |
| arch/mips/kernel/syscalls/syscall_n32.tbl | 1 + |
| arch/mips/kernel/syscalls/syscall_n64.tbl | 1 + |
| arch/mips/kernel/syscalls/syscall_o32.tbl | 1 + |
| arch/parisc/kernel/syscalls/syscall.tbl | 1 + |
| arch/powerpc/kernel/syscalls/syscall.tbl | 1 + |
| arch/s390/kernel/syscalls/syscall.tbl | 1 + |
| arch/sh/kernel/syscalls/syscall.tbl | 1 + |
| arch/sparc/kernel/syscalls/syscall.tbl | 1 + |
| arch/x86/entry/syscalls/syscall_32.tbl | 1 + |
| arch/x86/entry/syscalls/syscall_64.tbl | 1 + |
| arch/xtensa/kernel/syscalls/syscall.tbl | 1 + |
| include/linux/syscalls.h | 2 ++ |
| include/uapi/asm-generic/unistd.h | 4 +++- |
| 20 files changed, 24 insertions(+), 2 deletions(-) |
| |
| --- a/arch/alpha/kernel/syscalls/syscall.tbl |
| +++ b/arch/alpha/kernel/syscalls/syscall.tbl |
| @@ -478,3 +478,4 @@ |
| 547 common openat2 sys_openat2 |
| 548 common pidfd_getfd sys_pidfd_getfd |
| 549 common faccessat2 sys_faccessat2 |
| +550 common readfile sys_readfile |
| --- a/arch/arm/tools/syscall.tbl |
| +++ b/arch/arm/tools/syscall.tbl |
| @@ -452,3 +452,4 @@ |
| 437 common openat2 sys_openat2 |
| 438 common pidfd_getfd sys_pidfd_getfd |
| 439 common faccessat2 sys_faccessat2 |
| +440 common readfile sys_readfile |
| --- a/arch/arm64/include/asm/unistd.h |
| +++ b/arch/arm64/include/asm/unistd.h |
| @@ -38,7 +38,7 @@ |
| #define __ARM_NR_compat_set_tls (__ARM_NR_COMPAT_BASE + 5) |
| #define __ARM_NR_COMPAT_END (__ARM_NR_COMPAT_BASE + 0x800) |
| |
| -#define __NR_compat_syscalls 440 |
| +#define __NR_compat_syscalls 441 |
| #endif |
| |
| #define __ARCH_WANT_SYS_CLONE |
| --- a/arch/arm64/include/asm/unistd32.h |
| +++ b/arch/arm64/include/asm/unistd32.h |
| @@ -885,6 +885,8 @@ __SYSCALL(__NR_openat2, sys_openat2) |
| __SYSCALL(__NR_pidfd_getfd, sys_pidfd_getfd) |
| #define __NR_faccessat2 439 |
| __SYSCALL(__NR_faccessat2, sys_faccessat2) |
| +#define __NR_readfile 440 |
| +__SYSCALL(__NR_readfile, sys_readfile) |
| |
| /* |
| * Please add new compat syscalls above this comment and update |
| --- a/arch/ia64/kernel/syscalls/syscall.tbl |
| +++ b/arch/ia64/kernel/syscalls/syscall.tbl |
| @@ -359,3 +359,4 @@ |
| 437 common openat2 sys_openat2 |
| 438 common pidfd_getfd sys_pidfd_getfd |
| 439 common faccessat2 sys_faccessat2 |
| +440 common readfile sys_readfile |
| --- a/arch/m68k/kernel/syscalls/syscall.tbl |
| +++ b/arch/m68k/kernel/syscalls/syscall.tbl |
| @@ -438,3 +438,4 @@ |
| 437 common openat2 sys_openat2 |
| 438 common pidfd_getfd sys_pidfd_getfd |
| 439 common faccessat2 sys_faccessat2 |
| +440 common readfile sys_readfile |
| --- a/arch/microblaze/kernel/syscalls/syscall.tbl |
| +++ b/arch/microblaze/kernel/syscalls/syscall.tbl |
| @@ -444,3 +444,4 @@ |
| 437 common openat2 sys_openat2 |
| 438 common pidfd_getfd sys_pidfd_getfd |
| 439 common faccessat2 sys_faccessat2 |
| +440 common readfile sys_readfile |
| --- a/arch/mips/kernel/syscalls/syscall_n32.tbl |
| +++ b/arch/mips/kernel/syscalls/syscall_n32.tbl |
| @@ -377,3 +377,4 @@ |
| 437 n32 openat2 sys_openat2 |
| 438 n32 pidfd_getfd sys_pidfd_getfd |
| 439 n32 faccessat2 sys_faccessat2 |
| +440 n32 readfile sys_readfile |
| --- a/arch/mips/kernel/syscalls/syscall_n64.tbl |
| +++ b/arch/mips/kernel/syscalls/syscall_n64.tbl |
| @@ -353,3 +353,4 @@ |
| 437 n64 openat2 sys_openat2 |
| 438 n64 pidfd_getfd sys_pidfd_getfd |
| 439 n64 faccessat2 sys_faccessat2 |
| +440 n64 readfile sys_readfile |
| --- a/arch/mips/kernel/syscalls/syscall_o32.tbl |
| +++ b/arch/mips/kernel/syscalls/syscall_o32.tbl |
| @@ -426,3 +426,4 @@ |
| 437 o32 openat2 sys_openat2 |
| 438 o32 pidfd_getfd sys_pidfd_getfd |
| 439 o32 faccessat2 sys_faccessat2 |
| +440 o32 readfile sys_readfile |
| --- a/arch/parisc/kernel/syscalls/syscall.tbl |
| +++ b/arch/parisc/kernel/syscalls/syscall.tbl |
| @@ -436,3 +436,4 @@ |
| 437 common openat2 sys_openat2 |
| 438 common pidfd_getfd sys_pidfd_getfd |
| 439 common faccessat2 sys_faccessat2 |
| +440 common readfile sys_readfile |
| --- a/arch/powerpc/kernel/syscalls/syscall.tbl |
| +++ b/arch/powerpc/kernel/syscalls/syscall.tbl |
| @@ -528,3 +528,4 @@ |
| 437 common openat2 sys_openat2 |
| 438 common pidfd_getfd sys_pidfd_getfd |
| 439 common faccessat2 sys_faccessat2 |
| +440 common readfile sys_readfile |
| --- a/arch/s390/kernel/syscalls/syscall.tbl |
| +++ b/arch/s390/kernel/syscalls/syscall.tbl |
| @@ -441,3 +441,4 @@ |
| 437 common openat2 sys_openat2 sys_openat2 |
| 438 common pidfd_getfd sys_pidfd_getfd sys_pidfd_getfd |
| 439 common faccessat2 sys_faccessat2 sys_faccessat2 |
| +440 common readfile sys_readfile sys_readfile |
| --- a/arch/sh/kernel/syscalls/syscall.tbl |
| +++ b/arch/sh/kernel/syscalls/syscall.tbl |
| @@ -441,3 +441,4 @@ |
| 437 common openat2 sys_openat2 |
| 438 common pidfd_getfd sys_pidfd_getfd |
| 439 common faccessat2 sys_faccessat2 |
| +440 common readfile sys_readfile |
| --- a/arch/sparc/kernel/syscalls/syscall.tbl |
| +++ b/arch/sparc/kernel/syscalls/syscall.tbl |
| @@ -484,3 +484,4 @@ |
| 437 common openat2 sys_openat2 |
| 438 common pidfd_getfd sys_pidfd_getfd |
| 439 common faccessat2 sys_faccessat2 |
| +440 common readfile sys_readfile |
| --- a/arch/x86/entry/syscalls/syscall_32.tbl |
| +++ b/arch/x86/entry/syscalls/syscall_32.tbl |
| @@ -443,3 +443,4 @@ |
| 437 i386 openat2 sys_openat2 |
| 438 i386 pidfd_getfd sys_pidfd_getfd |
| 439 i386 faccessat2 sys_faccessat2 |
| +440 i386 readfile sys_readfile |
| --- a/arch/x86/entry/syscalls/syscall_64.tbl |
| +++ b/arch/x86/entry/syscalls/syscall_64.tbl |
| @@ -360,6 +360,7 @@ |
| 437 common openat2 sys_openat2 |
| 438 common pidfd_getfd sys_pidfd_getfd |
| 439 common faccessat2 sys_faccessat2 |
| +440 common readfile sys_readfile |
| |
| # |
| # x32-specific system call numbers start at 512 to avoid cache impact |
| --- a/arch/xtensa/kernel/syscalls/syscall.tbl |
| +++ b/arch/xtensa/kernel/syscalls/syscall.tbl |
| @@ -409,3 +409,4 @@ |
| 437 common openat2 sys_openat2 |
| 438 common pidfd_getfd sys_pidfd_getfd |
| 439 common faccessat2 sys_faccessat2 |
| +440 common readfile sys_readfile |
| --- a/include/linux/syscalls.h |
| +++ b/include/linux/syscalls.h |
| @@ -1005,6 +1005,8 @@ asmlinkage long sys_pidfd_send_signal(in |
| siginfo_t __user *info, |
| unsigned int flags); |
| asmlinkage long sys_pidfd_getfd(int pidfd, int fd, unsigned int flags); |
| +asmlinkage long sys_readfile(int dfd, const char __user *filename, |
| + char __user *buffer, size_t bufsize, int flags); |
| |
| /* |
| * Architecture-specific system calls |
| --- a/include/uapi/asm-generic/unistd.h |
| +++ b/include/uapi/asm-generic/unistd.h |
| @@ -857,9 +857,11 @@ __SYSCALL(__NR_openat2, sys_openat2) |
| __SYSCALL(__NR_pidfd_getfd, sys_pidfd_getfd) |
| #define __NR_faccessat2 439 |
| __SYSCALL(__NR_faccessat2, sys_faccessat2) |
| +#define __NR_readfile 440 |
| +__SYSCALL(__NR_readfile, sys_readfile) |
| |
| #undef __NR_syscalls |
| -#define __NR_syscalls 440 |
| +#define __NR_syscalls 441 |
| |
| /* |
| * 32 bit systems traditionally used different |