BACKPORT: epoll: wire up syscall epoll_pwait2

Split off from prev patch in the series that implements the syscall.

Link: https://lkml.kernel.org/r/20201121144401.3727659-4-willemdebruijn.kernel@gmail.com
Change-Id: I48dfae6f721b24ebc53de603e393289954a95908
Signed-off-by: Willem de Bruijn <willemb@google.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Willem de Bruijn
2020-12-18 14:05:41 -08:00
committed by theshaenix
parent d9d0b12dc3
commit d005838734
9 changed files with 22 additions and 2 deletions

View File

@@ -415,3 +415,4 @@
424 common pidfd_send_signal sys_pidfd_send_signal
434 common pidfd_open sys_pidfd_open
436 common close_range sys_close_range
441 common epoll_pwait2 sys_epoll_pwait2

View File

@@ -43,7 +43,7 @@
#define __ARM_NR_compat_cacheflush (__ARM_NR_COMPAT_BASE+2)
#define __ARM_NR_compat_set_tls (__ARM_NR_COMPAT_BASE+5)
#define __NR_compat_syscalls 437
#define __NR_compat_syscalls 442
#endif
#define __ARCH_WANT_SYS_CLONE

View File

@@ -823,6 +823,8 @@ __SYSCALL(__NR_pidfd_send_signal, sys_pidfd_send_signal)
__SYSCALL(__NR_pidfd_open, sys_pidfd_open)
#define __NR_close_range 436
__SYSCALL(__NR_close_range, sys_close_range)
#define __NR_epoll_pwait2 441
__SYSCALL(__NR_epoll_pwait2, sys_epoll_pwait2)
/*
* Please add new compat syscalls above this comment and update

View File

@@ -394,3 +394,4 @@
424 i386 pidfd_send_signal sys_pidfd_send_signal
434 i386 pidfd_open sys_pidfd_open
436 i386 close_range sys_close_range
441 i386 epoll_pwait2 sys_epoll_pwait2 __ia32_sys_epoll_pwait2

View File

@@ -342,6 +342,7 @@
424 common pidfd_send_signal sys_pidfd_send_signal
434 common pidfd_open sys_pidfd_open
436 common close_range sys_close_range
441 common epoll_pwait2 sys_epoll_pwait2
#
# x32-specific system call numbers start at 512 to avoid cache impact

View File

@@ -483,6 +483,12 @@ asmlinkage long compat_sys_epoll_pwait(int epfd,
int maxevents, int timeout,
const compat_sigset_t __user *sigmask,
compat_size_t sigsetsize);
asmlinkage long compat_sys_epoll_pwait2(int epfd,
struct epoll_event __user *events,
int maxevents,
const struct __kernel_timespec __user *timeout,
const compat_sigset_t __user *sigmask,
compat_size_t sigsetsize);
asmlinkage long compat_sys_utime(const char __user *filename,
struct compat_utimbuf __user *t);

View File

@@ -678,6 +678,11 @@ asmlinkage long sys_epoll_pwait(int epfd, struct epoll_event __user *events,
int maxevents, int timeout,
const sigset_t __user *sigmask,
size_t sigsetsize);
asmlinkage long sys_epoll_pwait2(int epfd, struct epoll_event __user *events,
int maxevents,
const struct __kernel_timespec __user *timeout,
const sigset_t __user *sigmask,
size_t sigsetsize);
asmlinkage long sys_gethostname(char __user *name, int len);
asmlinkage long sys_sethostname(char __user *name, int len);
asmlinkage long sys_setdomainname(char __user *name, int len);

View File

@@ -738,9 +738,11 @@ __SYSCALL(__NR_pidfd_send_signal, sys_pidfd_send_signal)
__SYSCALL(__NR_pidfd_open, sys_pidfd_open)
#define __NR_close_range 436
__SYSCALL(__NR_close_range, sys_close_range)
#define __NR_epoll_pwait2 441
__SC_COMP(__NR_epoll_pwait2, sys_epoll_pwait2, compat_sys_epoll_pwait2)
#undef __NR_syscalls
#define __NR_syscalls 437
#define __NR_syscalls 442
/*
* All syscalls below here should go away really,

View File

@@ -71,6 +71,8 @@ cond_syscall(sys_epoll_ctl);
cond_syscall(sys_epoll_wait);
cond_syscall(sys_epoll_pwait);
cond_syscall(compat_sys_epoll_pwait);
cond_syscall(sys_epoll_pwait2);
cond_syscall(compat_sys_epoll_pwait2);
cond_syscall(sys_semget);
cond_syscall(sys_semop);
cond_syscall(sys_semtimedop);