aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ipc/compat.c18
-rw-r--r--ipc/mqueue.c6
-rw-r--r--ipc/sem.c8
-rw-r--r--ipc/util.c3
4 files changed, 16 insertions, 19 deletions
diff --git a/ipc/compat.c b/ipc/compat.c
index ed0530beef0b..f71e962756d8 100644
--- a/ipc/compat.c
+++ b/ipc/compat.c
@@ -288,11 +288,11 @@ static long do_compat_semctl(int first, int second, int third, u32 pad)
288 break; 288 break;
289 289
290 case IPC_SET: 290 case IPC_SET:
291 if (version == IPC_64) { 291 if (version == IPC_64)
292 err = get_compat_semid64_ds(&s64, compat_ptr(pad)); 292 err = get_compat_semid64_ds(&s64, compat_ptr(pad));
293 } else { 293 else
294 err = get_compat_semid_ds(&s64, compat_ptr(pad)); 294 err = get_compat_semid_ds(&s64, compat_ptr(pad));
295 } 295
296 up64 = compat_alloc_user_space(sizeof(s64)); 296 up64 = compat_alloc_user_space(sizeof(s64));
297 if (copy_to_user(up64, &s64, sizeof(s64))) 297 if (copy_to_user(up64, &s64, sizeof(s64)))
298 err = -EFAULT; 298 err = -EFAULT;
@@ -515,11 +515,11 @@ long compat_sys_msgctl(int first, int second, void __user *uptr)
515 break; 515 break;
516 516
517 case IPC_SET: 517 case IPC_SET:
518 if (version == IPC_64) { 518 if (version == IPC_64)
519 err = get_compat_msqid64(&m64, uptr); 519 err = get_compat_msqid64(&m64, uptr);
520 } else { 520 else
521 err = get_compat_msqid(&m64, uptr); 521 err = get_compat_msqid(&m64, uptr);
522 } 522
523 if (err) 523 if (err)
524 break; 524 break;
525 p = compat_alloc_user_space(sizeof(m64)); 525 p = compat_alloc_user_space(sizeof(m64));
@@ -702,11 +702,11 @@ long compat_sys_shmctl(int first, int second, void __user *uptr)
702 702
703 703
704 case IPC_SET: 704 case IPC_SET:
705 if (version == IPC_64) { 705 if (version == IPC_64)
706 err = get_compat_shmid64_ds(&s64, uptr); 706 err = get_compat_shmid64_ds(&s64, uptr);
707 } else { 707 else
708 err = get_compat_shmid_ds(&s64, uptr); 708 err = get_compat_shmid_ds(&s64, uptr);
709 } 709
710 if (err) 710 if (err)
711 break; 711 break;
712 p = compat_alloc_user_space(sizeof(s64)); 712 p = compat_alloc_user_space(sizeof(s64));
diff --git a/ipc/mqueue.c b/ipc/mqueue.c
index bb36aaeb58a0..ccf1f9fd263a 100644
--- a/ipc/mqueue.c
+++ b/ipc/mqueue.c
@@ -1303,11 +1303,11 @@ retry:
1303out_fput: 1303out_fput:
1304 fdput(f); 1304 fdput(f);
1305out: 1305out:
1306 if (sock) { 1306 if (sock)
1307 netlink_detachskb(sock, nc); 1307 netlink_detachskb(sock, nc);
1308 } else if (nc) { 1308 else if (nc)
1309 dev_kfree_skb(nc); 1309 dev_kfree_skb(nc);
1310 } 1310
1311 return ret; 1311 return ret;
1312} 1312}
1313 1313
diff --git a/ipc/sem.c b/ipc/sem.c
index 1b1acdb0aee8..bee555417312 100644
--- a/ipc/sem.c
+++ b/ipc/sem.c
@@ -492,9 +492,9 @@ static int newary(struct ipc_namespace *ns, struct ipc_params *params)
492 492
493 size = sizeof(*sma) + nsems * sizeof(struct sem); 493 size = sizeof(*sma) + nsems * sizeof(struct sem);
494 sma = ipc_rcu_alloc(size); 494 sma = ipc_rcu_alloc(size);
495 if (!sma) { 495 if (!sma)
496 return -ENOMEM; 496 return -ENOMEM;
497 } 497
498 memset(sma, 0, size); 498 memset(sma, 0, size);
499 499
500 sma->sem_perm.mode = (semflg & S_IRWXUGO); 500 sma->sem_perm.mode = (semflg & S_IRWXUGO);
@@ -1967,10 +1967,8 @@ sleep_again:
1967 * If queue.status != -EINTR we are woken up by another process. 1967 * If queue.status != -EINTR we are woken up by another process.
1968 * Leave without unlink_queue(), but with sem_unlock(). 1968 * Leave without unlink_queue(), but with sem_unlock().
1969 */ 1969 */
1970 1970 if (error != -EINTR)
1971 if (error != -EINTR) {
1972 goto out_unlock_free; 1971 goto out_unlock_free;
1973 }
1974 1972
1975 /* 1973 /*
1976 * If an interrupt occurred we have to clean up the queue 1974 * If an interrupt occurred we have to clean up the queue
diff --git a/ipc/util.c b/ipc/util.c
index af976fc6a464..cfbd8fafb19b 100644
--- a/ipc/util.c
+++ b/ipc/util.c
@@ -183,9 +183,8 @@ void __init ipc_init_proc_interface(const char *path, const char *header,
183 NULL, /* parent dir */ 183 NULL, /* parent dir */
184 &sysvipc_proc_fops, 184 &sysvipc_proc_fops,
185 iface); 185 iface);
186 if (!pde) { 186 if (!pde)
187 kfree(iface); 187 kfree(iface);
188 }
189} 188}
190#endif 189#endif
191 190