s390: use generic UID16 implementation
authorArnd Bergmann <arnd@arndb.de>
Wed, 16 Jan 2019 13:15:21 +0000 (14:15 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 18 Jan 2019 08:33:18 +0000 (09:33 +0100)
commitfef747bab3c09b30b82f76a391ee0ed83d2d6965
tree3a32716e2fd14f6c045240a9a82bdf28bb7b37f5
parent58fa4a410fc31afe08d0d0c6b6d8860c22ec17c2
s390: use generic UID16 implementation

s390 has an almost identical copy of the code in kernel/uid16.c.

The problem here is that it requires calling the regular system calls,
which the generic implementation handles correctly, but the internal
interfaces are not declared in a global header for this.

The best way forward here seems to be to just use the generic code and
delete the s390 specific implementation.

I keep the changes to uapi/asm/posix_types.h inside of an #ifdef check
so user space does not observe any changes. As some of the system calls
pass pointers, we also need wrappers in compat_wrapper.c, which I add
for all calls with at least one argument. All those wrappers can be
removed in a later step.

Link: https://lore.kernel.org/lkml/20190116131527.2071570-4-arnd@arndb.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/Kconfig
arch/s390/include/uapi/asm/posix_types.h
arch/s390/kernel/compat_linux.c
arch/s390/kernel/compat_wrapper.c
arch/s390/kernel/syscalls/syscall.tbl