OSDN Git Service

arch: wire up pidfd_getfd syscall
authorSargun Dhillon <sargun@sargun.me>
Tue, 7 Jan 2020 17:59:26 +0000 (09:59 -0800)
committerChristian Brauner <christian.brauner@ubuntu.com>
Mon, 13 Jan 2020 20:49:47 +0000 (21:49 +0100)
This wires up the pidfd_getfd syscall for all architectures.

Signed-off-by: Sargun Dhillon <sargun@sargun.me>
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20200107175927.4558-4-sargun@sargun.me
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
20 files changed:
arch/alpha/kernel/syscalls/syscall.tbl
arch/arm/tools/syscall.tbl
arch/arm64/include/asm/unistd.h
arch/arm64/include/asm/unistd32.h
arch/ia64/kernel/syscalls/syscall.tbl
arch/m68k/kernel/syscalls/syscall.tbl
arch/microblaze/kernel/syscalls/syscall.tbl
arch/mips/kernel/syscalls/syscall_n32.tbl
arch/mips/kernel/syscalls/syscall_n64.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/sh/kernel/syscalls/syscall.tbl
arch/sparc/kernel/syscalls/syscall.tbl
arch/x86/entry/syscalls/syscall_32.tbl
arch/x86/entry/syscalls/syscall_64.tbl
arch/xtensa/kernel/syscalls/syscall.tbl
include/linux/syscalls.h
include/uapi/asm-generic/unistd.h

index 8e13b0b..8230108 100644 (file)
 543    common  fspick                          sys_fspick
 544    common  pidfd_open                      sys_pidfd_open
 # 545 reserved for clone3
+548    common  pidfd_getfd                     sys_pidfd_getfd
index 6da7dc4..ba045e2 100644 (file)
 433    common  fspick                          sys_fspick
 434    common  pidfd_open                      sys_pidfd_open
 435    common  clone3                          sys_clone3
+438    common  pidfd_getfd                     sys_pidfd_getfd
index 2629a68..b722e47 100644 (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           436
+#define __NR_compat_syscalls           439
 #endif
 
 #define __ARCH_WANT_SYS_CLONE
index 94ab29c..a8da97a 100644 (file)
@@ -879,6 +879,8 @@ __SYSCALL(__NR_fspick, sys_fspick)
 __SYSCALL(__NR_pidfd_open, sys_pidfd_open)
 #define __NR_clone3 435
 __SYSCALL(__NR_clone3, sys_clone3)
+#define __NR_pidfd_getfd 438
+__SYSCALL(__NR_pidfd_getfd, sys_pidfd_getfd)
 
 /*
  * Please add new compat syscalls above this comment and update
index 36d5faf..2b11adf 100644 (file)
 433    common  fspick                          sys_fspick
 434    common  pidfd_open                      sys_pidfd_open
 # 435 reserved for clone3
+438    common  pidfd_getfd                     sys_pidfd_getfd
index a88a285..44e879e 100644 (file)
 433    common  fspick                          sys_fspick
 434    common  pidfd_open                      sys_pidfd_open
 # 435 reserved for clone3
+438    common  pidfd_getfd                     sys_pidfd_getfd
index 09b0cd7..7afa001 100644 (file)
 433    common  fspick                          sys_fspick
 434    common  pidfd_open                      sys_pidfd_open
 435    common  clone3                          sys_clone3
+438    common  pidfd_getfd                     sys_pidfd_getfd
index e7c5ab3..856d5ba 100644 (file)
 433    n32     fspick                          sys_fspick
 434    n32     pidfd_open                      sys_pidfd_open
 435    n32     clone3                          __sys_clone3
+438    n32     pidfd_getfd                     sys_pidfd_getfd
index 13cd665..2db6075 100644 (file)
 433    n64     fspick                          sys_fspick
 434    n64     pidfd_open                      sys_pidfd_open
 435    n64     clone3                          __sys_clone3
+438    n64     pidfd_getfd                     sys_pidfd_getfd
index 353539e..e9f9d4a 100644 (file)
 433    o32     fspick                          sys_fspick
 434    o32     pidfd_open                      sys_pidfd_open
 435    o32     clone3                          __sys_clone3
+438    o32     pidfd_getfd                     sys_pidfd_getfd
index 285ff51..c58c7eb 100644 (file)
 433    common  fspick                          sys_fspick
 434    common  pidfd_open                      sys_pidfd_open
 435    common  clone3                          sys_clone3_wrapper
+438    common  pidfd_getfd                     sys_pidfd_getfd
index 43f736e..707609b 100644 (file)
 433    common  fspick                          sys_fspick
 434    common  pidfd_open                      sys_pidfd_open
 435    nospu   clone3                          ppc_clone3
+438    common  pidfd_getfd                     sys_pidfd_getfd
index 3054e9c..185cd62 100644 (file)
 433  common    fspick                  sys_fspick                      sys_fspick
 434  common    pidfd_open              sys_pidfd_open                  sys_pidfd_open
 435  common    clone3                  sys_clone3                      sys_clone3
+438  common    pidfd_getfd             sys_pidfd_getfd                 sys_pidfd_getfd
index b5ed26c..88f9089 100644 (file)
 433    common  fspick                          sys_fspick
 434    common  pidfd_open                      sys_pidfd_open
 # 435 reserved for clone3
+438    common  pidfd_getfd                     sys_pidfd_getfd
index 8c8cc75..218df6a 100644 (file)
 433    common  fspick                          sys_fspick
 434    common  pidfd_open                      sys_pidfd_open
 # 435 reserved for clone3
+438    common  pidfd_getfd                     sys_pidfd_getfd
index 15908eb..9c3101b 100644 (file)
 433    i386    fspick                  sys_fspick                      __ia32_sys_fspick
 434    i386    pidfd_open              sys_pidfd_open                  __ia32_sys_pidfd_open
 435    i386    clone3                  sys_clone3                      __ia32_sys_clone3
+438    i386    pidfd_getfd             sys_pidfd_getfd                 __ia32_sys_pidfd_getfd
index c29976e..cef85db 100644 (file)
 433    common  fspick                  __x64_sys_fspick
 434    common  pidfd_open              __x64_sys_pidfd_open
 435    common  clone3                  __x64_sys_clone3/ptregs
+438    common  pidfd_getfd             __x64_sys_pidfd_getfd
 
 #
 # x32-specific system call numbers start at 512 to avoid cache impact
index 25f4de7..ae15183 100644 (file)
 433    common  fspick                          sys_fspick
 434    common  pidfd_open                      sys_pidfd_open
 435    common  clone3                          sys_clone3
+438    common  pidfd_getfd                     sys_pidfd_getfd
index 5262b7a..8640af3 100644 (file)
@@ -1000,6 +1000,7 @@ asmlinkage long sys_fspick(int dfd, const char __user *path, unsigned int flags)
 asmlinkage long sys_pidfd_send_signal(int pidfd, int sig,
                                       siginfo_t __user *info,
                                       unsigned int flags);
+asmlinkage long sys_pidfd_getfd(int pidfd, int fd, unsigned int flags);
 
 /*
  * Architecture-specific system calls
index 1fc8faa..d36ec3d 100644 (file)
@@ -850,9 +850,11 @@ __SYSCALL(__NR_pidfd_open, sys_pidfd_open)
 #define __NR_clone3 435
 __SYSCALL(__NR_clone3, sys_clone3)
 #endif
+#define __NR_pidfd_getfd 438
+__SYSCALL(__NR_pidfd_getfd, sys_pidfd_getfd)
 
 #undef __NR_syscalls
-#define __NR_syscalls 436
+#define __NR_syscalls 439
 
 /*
  * 32 bit systems traditionally used different