diff --git a/arch/s390/include/asm/unistd.h b/arch/s390/include/asm/unistd.h index da2c2f4f7642dfcdfbf7cb9875e5b85b6dd2d7cb..4e64b5cd1558762016ef166b1a73022f9ccfc084 100644 --- a/arch/s390/include/asm/unistd.h +++ b/arch/s390/include/asm/unistd.h @@ -278,7 +278,8 @@ #define __NR_process_vm_readv 340 #define __NR_process_vm_writev 341 #define __NR_s390_runtime_instr 342 -#define NR_syscalls 343 +#define __NR_kcmp 343 +#define NR_syscalls 344 /* * There are some system calls that are not present on 64 bit, some diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S index 5f7928fe34ce9e73067a5ceeaa15842fdf1c3480..3afba804fe97e9e9eb19ee9f2040cf3466f23361 100644 --- a/arch/s390/kernel/compat_wrapper.S +++ b/arch/s390/kernel/compat_wrapper.S @@ -1651,3 +1651,11 @@ ENTRY(sys_s390_runtime_instr_wrapper) lgfr %r2,%r2 # int lgfr %r3,%r3 # int jg sys_s390_runtime_instr + +ENTRY(sys_kcmp_wrapper) + lgfr %r2,%r2 # pid_t + lgfr %r3,%r3 # pid_t + lgfr %r4,%r4 # int + llgfr %r5,%r5 # unsigned long + llgfr %r6,%r6 # unsigned long + jg sys_kcmp diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S index 539f0a7701e479322ce632a5a658636e3e103763..48174850f3b0859f05b2b5023f09cdbb827c9d56 100644 --- a/arch/s390/kernel/syscalls.S +++ b/arch/s390/kernel/syscalls.S @@ -351,3 +351,4 @@ SYSCALL(sys_setns,sys_setns,sys_setns_wrapper) SYSCALL(sys_process_vm_readv,sys_process_vm_readv,compat_sys_process_vm_readv_wrapper) /* 340 */ SYSCALL(sys_process_vm_writev,sys_process_vm_writev,compat_sys_process_vm_writev_wrapper) SYSCALL(sys_ni_syscall,sys_s390_runtime_instr,sys_s390_runtime_instr_wrapper) +SYSCALL(sys_kcmp,sys_kcmp,sys_kcmp_wrapper)