Re: [PATCH 07/11] y2038: syscalls: rename y2038 compat syscalls

From: Heiko Carstens
Date: Thu Jan 10 2019 - 15:55:45 EST


On Thu, Jan 10, 2019 at 06:22:12PM +0100, Arnd Bergmann wrote:
> diff --git a/arch/s390/kernel/syscalls/syscall.tbl b/arch/s390/kernel/syscalls/syscall.tbl
> index f84ea364a302..b3199a744731 100644
> --- a/arch/s390/kernel/syscalls/syscall.tbl
> +++ b/arch/s390/kernel/syscalls/syscall.tbl
> @@ -20,7 +20,7 @@
> 10 common unlink sys_unlink compat_sys_unlink
> 11 common execve sys_execve compat_sys_execve
> 12 common chdir sys_chdir compat_sys_chdir
> -13 32 time - compat_sys_time
> +13 32 time - sys_time32
> 14 common mknod sys_mknod compat_sys_mknod
> 15 common chmod sys_chmod compat_sys_chmod
> 16 32 lchown - compat_sys_s390_lchown16
> @@ -30,11 +30,11 @@
> 22 common umount sys_oldumount compat_sys_oldumount
> 23 32 setuid - compat_sys_s390_setuid16
> 24 32 getuid - compat_sys_s390_getuid16
> -25 32 stime - compat_sys_stime
> +25 32 stime - sys_stime32
> 26 common ptrace sys_ptrace compat_sys_ptrace
> 27 common alarm sys_alarm sys_alarm
> 29 common pause sys_pause sys_pause
> -30 common utime sys_utime compat_sys_utime
> +30 common utime sys_utime sys_utime32
...(and more)...

All of them need compat wrappers to clear the uppermost 33 bits of
user space pointers. I assume there is no new *32 system call which
takes u64/s64 arguments; so the pointers should be the only problem.