parisc: Use compat layer for msgctl, shmat, shmctl and semtimedop syscalls
authorHelge Deller <deller@gmx.de>
Mon, 10 Nov 2014 20:46:18 +0000 (21:46 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Nov 2014 17:22:53 +0000 (09:22 -0800)
commitaca0ab61812decb0bd0335fc9c4b065991884b66
tree38f0b77b0ca8f8297cb5e7f8dec492fb073fbdf5
parent945f341afb991b94fce08f633353efa0c623f719
parisc: Use compat layer for msgctl, shmat, shmctl and semtimedop syscalls

commit 2fe749f50b0bec07650ef135b29b1f55bf543869 upstream.

Switch over the msgctl, shmat, shmctl and semtimedop syscalls to use the compat
layer. The problem was found with the debian procenv package, which called
shmctl(0, SHM_INFO, &info);
in which the shmctl syscall then overwrote parts of the surrounding areas on
the stack on which the info variable was stored and thus lead to a segfault
later on.

Additionally fix the definition of struct shminfo64 to use unsigned longs like
the other architectures. This has no impact on userspace since we only have a
32bit userspace up to now.

Signed-off-by: Helge Deller <deller@gmx.de>
Cc: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/parisc/include/uapi/asm/shmbuf.h
arch/parisc/kernel/syscall_table.S