summaryrefslogtreecommitdiff
path: root/arch/parisc/kernel/syscall_table.S
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2014-11-10 20:46:18 (GMT)
committerHelge Deller <deller@gmx.de>2014-11-10 21:23:47 (GMT)
commit2fe749f50b0bec07650ef135b29b1f55bf543869 (patch)
tree14e9710de27abed444b6b04eecf21249ee72f4a0 /arch/parisc/kernel/syscall_table.S
parent8dd95c68f32b821ec02e89c42a4e500d6aebbd84 (diff)
downloadlinux-2fe749f50b0bec07650ef135b29b1f55bf543869.tar.xz
parisc: Use compat layer for msgctl, shmat, shmctl and semtimedop syscalls
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> Cc: <stable@vger.kernel.org> # v3.10+
Diffstat (limited to 'arch/parisc/kernel/syscall_table.S')
-rw-r--r--arch/parisc/kernel/syscall_table.S8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/parisc/kernel/syscall_table.S b/arch/parisc/kernel/syscall_table.S
index d65c50a..fe4f0b8 100644
--- a/arch/parisc/kernel/syscall_table.S
+++ b/arch/parisc/kernel/syscall_table.S
@@ -286,11 +286,11 @@
ENTRY_COMP(msgsnd)
ENTRY_COMP(msgrcv)
ENTRY_SAME(msgget) /* 190 */
- ENTRY_SAME(msgctl)
- ENTRY_SAME(shmat)
+ ENTRY_COMP(msgctl)
+ ENTRY_COMP(shmat)
ENTRY_SAME(shmdt)
ENTRY_SAME(shmget)
- ENTRY_SAME(shmctl) /* 195 */
+ ENTRY_COMP(shmctl) /* 195 */
ENTRY_SAME(ni_syscall) /* streams1 */
ENTRY_SAME(ni_syscall) /* streams2 */
ENTRY_SAME(lstat64)
@@ -323,7 +323,7 @@
ENTRY_SAME(epoll_ctl) /* 225 */
ENTRY_SAME(epoll_wait)
ENTRY_SAME(remap_file_pages)
- ENTRY_SAME(semtimedop)
+ ENTRY_COMP(semtimedop)
ENTRY_COMP(mq_open)
ENTRY_SAME(mq_unlink) /* 230 */
ENTRY_COMP(mq_timedsend)