diff options
Diffstat (limited to 'ipc/compat.c')
-rw-r--r-- | ipc/compat.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ipc/compat.c b/ipc/compat.c index 9dc2c7d3c9e6..845a28738d3a 100644 --- a/ipc/compat.c +++ b/ipc/compat.c | |||
@@ -241,6 +241,8 @@ long compat_sys_semctl(int first, int second, int third, void __user *uptr) | |||
241 | struct semid64_ds __user *up64; | 241 | struct semid64_ds __user *up64; |
242 | int version = compat_ipc_parse_version(&third); | 242 | int version = compat_ipc_parse_version(&third); |
243 | 243 | ||
244 | memset(&s64, 0, sizeof(s64)); | ||
245 | |||
244 | if (!uptr) | 246 | if (!uptr) |
245 | return -EINVAL; | 247 | return -EINVAL; |
246 | if (get_user(pad, (u32 __user *) uptr)) | 248 | if (get_user(pad, (u32 __user *) uptr)) |
@@ -421,6 +423,8 @@ long compat_sys_msgctl(int first, int second, void __user *uptr) | |||
421 | int version = compat_ipc_parse_version(&second); | 423 | int version = compat_ipc_parse_version(&second); |
422 | void __user *p; | 424 | void __user *p; |
423 | 425 | ||
426 | memset(&m64, 0, sizeof(m64)); | ||
427 | |||
424 | switch (second & (~IPC_64)) { | 428 | switch (second & (~IPC_64)) { |
425 | case IPC_INFO: | 429 | case IPC_INFO: |
426 | case IPC_RMID: | 430 | case IPC_RMID: |
@@ -594,6 +598,8 @@ long compat_sys_shmctl(int first, int second, void __user *uptr) | |||
594 | int err, err2; | 598 | int err, err2; |
595 | int version = compat_ipc_parse_version(&second); | 599 | int version = compat_ipc_parse_version(&second); |
596 | 600 | ||
601 | memset(&s64, 0, sizeof(s64)); | ||
602 | |||
597 | switch (second & (~IPC_64)) { | 603 | switch (second & (~IPC_64)) { |
598 | case IPC_RMID: | 604 | case IPC_RMID: |
599 | case SHM_LOCK: | 605 | case SHM_LOCK: |