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 Michael Bestas
commit b0f56c9401
No known key found for this signature in database
GPG key ID: CC95044519BE6669
22 changed files with 35 additions and 2 deletions

View file

@ -480,3 +480,4 @@
# 548 reserved for pidfd_getfd
# 549 reserved for faccessat2
550 common process_madvise sys_process_madvise
551 common epoll_pwait2 sys_epoll_pwait2

View file

@ -454,3 +454,4 @@
# 438 reserved for pidfd_getfd
# 439 reserved for faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2

View file

@ -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 441
#define __NR_compat_syscalls 442
#endif
#define __ARCH_WANT_SYS_CLONE

View file

@ -883,6 +883,8 @@ __SYSCALL(__NR_clone3, sys_clone3)
__SYSCALL(__NR_close_range, sys_close_range)
#define __NR_process_madvise 440
__SYSCALL(__NR_process_madvise, sys_process_madvise)
#define __NR_epoll_pwait2 441
__SYSCALL(__NR_epoll_pwait2, sys_epoll_pwait2)
/*
* Please add new compat syscalls above this comment and update

View file

@ -361,3 +361,4 @@
# 438 reserved for pidfd_getfd
# 439 reserved for faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2

View file

@ -440,3 +440,4 @@
# 438 reserved for pidfd_getfd
# 439 reserved for faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2

View file

@ -446,3 +446,4 @@
# 438 reserved for pidfd_getfd
# 439 reserved for faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2

View file

@ -379,3 +379,4 @@
# 438 reserved for pidfd_getfd
# 439 reserved for faccessat2
440 n32 process_madvise sys_process_madvise
441 n32 epoll_pwait2 sys_epoll_pwait2

View file

@ -355,3 +355,4 @@
# 438 reserved for pidfd_getfd
# 439 reserved for faccessat2
440 n64 process_madvise sys_process_madvise
441 n64 epoll_pwait2 sys_epoll_pwait2

View file

@ -424,3 +424,4 @@
434 o32 pidfd_open sys_pidfd_open
435 o32 clone3 __sys_clone3
436 o32 close_range sys_close_range
441 o32 epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2

View file

@ -438,3 +438,4 @@
# 438 reserved for pidfd_getfd
# 439 reserved for faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2

View file

@ -522,3 +522,4 @@
# 438 reserved for pidfd_getfd
# 439 reserved for faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2

View file

@ -443,3 +443,4 @@
# 438 reserved for pidfd_getfd
# 439 reserved for faccessat2
440 common process_madvise sys_process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2 sys_epoll_pwait2

View file

@ -443,3 +443,4 @@
# 438 reserved for pidfd_getfd
# 439 reserved for faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2

View file

@ -486,3 +486,4 @@
# 438 reserved for pidfd_getfd
# 439 reserved for faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2

View file

@ -445,3 +445,4 @@
# 438 reserved for pidfd_getfd
# 439 reserved for faccessat2
440 i386 process_madvise sys_process_madvise
441 i386 epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2

View file

@ -362,6 +362,7 @@
# 438 reserved for pidfd_getfd
# 439 reserved for faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2
#
# x32-specific system call numbers start at 512 to avoid cache impact

View file

@ -411,3 +411,4 @@
# 438 reserved for pidfd_getfd
# 439 reserved for faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 sys_epoll_pwait2

View file

@ -539,6 +539,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);
/* fs/fcntl.c */
asmlinkage long compat_sys_fcntl(unsigned int fd, unsigned int cmd,

View file

@ -364,6 +364,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);
/* fs/fcntl.c */
asmlinkage long sys_dup(unsigned int fildes);

View file

@ -854,9 +854,11 @@ __SYSCALL(__NR_clone3, sys_clone3)
__SYSCALL(__NR_close_range, sys_close_range)
#define __NR_process_madvise 440
__SYSCALL(__NR_process_madvise, sys_process_madvise)
#define __NR_epoll_pwait2 441
__SC_COMP(__NR_epoll_pwait2, sys_epoll_pwait2, compat_sys_epoll_pwait2)
#undef __NR_syscalls
#define __NR_syscalls 441
#define __NR_syscalls 442
/*
* 32 bit systems traditionally used different

View file

@ -68,6 +68,8 @@ COND_SYSCALL(epoll_create1);
COND_SYSCALL(epoll_ctl);
COND_SYSCALL(epoll_pwait);
COND_SYSCALL_COMPAT(epoll_pwait);
COND_SYSCALL(epoll_pwait2);
COND_SYSCALL_COMPAT(epoll_pwait2);
/* fs/fcntl.c */