diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-03-05 15:04:55 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-03-05 15:14:16 -0500 |
commit | e1fd1f490fa4213bd3060efa823a39d299538f72 (patch) | |
tree | 8bed18bdf003822ef1a4946e734418cf88546c24 /ipc/syscall.c | |
parent | 4b377bab29e6a241db42f27541e7fb63713ee178 (diff) |
get rid of union semop in sys_semctl(2) arguments
just have the bugger take unsigned long and deal with SETVAL
case (when we use an int member in the union) explicitly.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'ipc/syscall.c')
-rw-r--r-- | ipc/syscall.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/ipc/syscall.c b/ipc/syscall.c index 0d1e32ce048e..52429489cde0 100644 --- a/ipc/syscall.c +++ b/ipc/syscall.c | |||
@@ -33,12 +33,12 @@ SYSCALL_DEFINE6(ipc, unsigned int, call, int, first, unsigned long, second, | |||
33 | case SEMGET: | 33 | case SEMGET: |
34 | return sys_semget(first, second, third); | 34 | return sys_semget(first, second, third); |
35 | case SEMCTL: { | 35 | case SEMCTL: { |
36 | union semun fourth; | 36 | unsigned long arg; |
37 | if (!ptr) | 37 | if (!ptr) |
38 | return -EINVAL; | 38 | return -EINVAL; |
39 | if (get_user(fourth.__pad, (void __user * __user *) ptr)) | 39 | if (get_user(arg, (unsigned long __user *) ptr)) |
40 | return -EFAULT; | 40 | return -EFAULT; |
41 | return sys_semctl(first, second, third, fourth); | 41 | return sys_semctl(first, second, third, arg); |
42 | } | 42 | } |
43 | 43 | ||
44 | case MSGSND: | 44 | case MSGSND: |