aboutsummaryrefslogtreecommitdiffstats
path: root/ipc
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-11-17 15:54:01 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2017-11-17 15:54:01 -0500
commitca5b857cb0f42986520abd9dbb0c2508067342b2 (patch)
tree7418db33a7156b33bbdf6fff337f5f04e0c4137c /ipc
parenta0e136e5da98f10ecb41a673374a04102af45e2b (diff)
parentc02b1a9b41c2e728289f96850580a3651e0a8b5f (diff)
Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull misc vfs updates from Al Viro: "Assorted stuff, really no common topic here" * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: vfs: grab the lock instead of blocking in __fd_install during resizing vfs: stop clearing close on exec when closing a fd include/linux/fs.h: fix comment about struct address_space fs: make fiemap work from compat_ioctl coda: fix 'kernel memory exposure attempt' in fsync pstore: remove unneeded unlikely() vfs: remove unneeded unlikely() stubs for mount_bdev() and kill_block_super() in !CONFIG_BLOCK case make vfs_ustat() static do_handle_open() should be static elf_fdpic: fix unused variable warning fold destroy_super() into __put_super() new helper: destroy_unused_super() fix address space warnings in ipc/ acct.h: get rid of detritus
Diffstat (limited to 'ipc')
-rw-r--r--ipc/msg.c4
-rw-r--r--ipc/sem.c4
-rw-r--r--ipc/shm.c4
-rw-r--r--ipc/syscall.c2
4 files changed, 7 insertions, 7 deletions
diff --git a/ipc/msg.c b/ipc/msg.c
index bce7ac1c8099..1bbc029d2b17 100644
--- a/ipc/msg.c
+++ b/ipc/msg.c
@@ -591,13 +591,13 @@ static int copy_compat_msqid_from_user(struct msqid64_ds *out, void __user *buf,
591{ 591{
592 memset(out, 0, sizeof(*out)); 592 memset(out, 0, sizeof(*out));
593 if (version == IPC_64) { 593 if (version == IPC_64) {
594 struct compat_msqid64_ds *p = buf; 594 struct compat_msqid64_ds __user *p = buf;
595 if (get_compat_ipc64_perm(&out->msg_perm, &p->msg_perm)) 595 if (get_compat_ipc64_perm(&out->msg_perm, &p->msg_perm))
596 return -EFAULT; 596 return -EFAULT;
597 if (get_user(out->msg_qbytes, &p->msg_qbytes)) 597 if (get_user(out->msg_qbytes, &p->msg_qbytes))
598 return -EFAULT; 598 return -EFAULT;
599 } else { 599 } else {
600 struct compat_msqid_ds *p = buf; 600 struct compat_msqid_ds __user *p = buf;
601 if (get_compat_ipc_perm(&out->msg_perm, &p->msg_perm)) 601 if (get_compat_ipc_perm(&out->msg_perm, &p->msg_perm))
602 return -EFAULT; 602 return -EFAULT;
603 if (get_user(out->msg_qbytes, &p->msg_qbytes)) 603 if (get_user(out->msg_qbytes, &p->msg_qbytes))
diff --git a/ipc/sem.c b/ipc/sem.c
index b2698ebdcb31..a5cff0e109ab 100644
--- a/ipc/sem.c
+++ b/ipc/sem.c
@@ -1637,10 +1637,10 @@ static int copy_compat_semid_from_user(struct semid64_ds *out, void __user *buf,
1637{ 1637{
1638 memset(out, 0, sizeof(*out)); 1638 memset(out, 0, sizeof(*out));
1639 if (version == IPC_64) { 1639 if (version == IPC_64) {
1640 struct compat_semid64_ds *p = buf; 1640 struct compat_semid64_ds __user *p = buf;
1641 return get_compat_ipc64_perm(&out->sem_perm, &p->sem_perm); 1641 return get_compat_ipc64_perm(&out->sem_perm, &p->sem_perm);
1642 } else { 1642 } else {
1643 struct compat_semid_ds *p = buf; 1643 struct compat_semid_ds __user *p = buf;
1644 return get_compat_ipc_perm(&out->sem_perm, &p->sem_perm); 1644 return get_compat_ipc_perm(&out->sem_perm, &p->sem_perm);
1645 } 1645 }
1646} 1646}
diff --git a/ipc/shm.c b/ipc/shm.c
index bd652755d32c..7733d768666d 100644
--- a/ipc/shm.c
+++ b/ipc/shm.c
@@ -1194,10 +1194,10 @@ static int copy_compat_shmid_from_user(struct shmid64_ds *out, void __user *buf,
1194{ 1194{
1195 memset(out, 0, sizeof(*out)); 1195 memset(out, 0, sizeof(*out));
1196 if (version == IPC_64) { 1196 if (version == IPC_64) {
1197 struct compat_shmid64_ds *p = buf; 1197 struct compat_shmid64_ds __user *p = buf;
1198 return get_compat_ipc64_perm(&out->shm_perm, &p->shm_perm); 1198 return get_compat_ipc64_perm(&out->shm_perm, &p->shm_perm);
1199 } else { 1199 } else {
1200 struct compat_shmid_ds *p = buf; 1200 struct compat_shmid_ds __user *p = buf;
1201 return get_compat_ipc_perm(&out->shm_perm, &p->shm_perm); 1201 return get_compat_ipc_perm(&out->shm_perm, &p->shm_perm);
1202 } 1202 }
1203} 1203}
diff --git a/ipc/syscall.c b/ipc/syscall.c
index 26b45db2e007..3763b4293b74 100644
--- a/ipc/syscall.c
+++ b/ipc/syscall.c
@@ -172,7 +172,7 @@ COMPAT_SYSCALL_DEFINE6(ipc, u32, call, int, first, int, second,
172 COMPAT_SHMLBA); 172 COMPAT_SHMLBA);
173 if (err < 0) 173 if (err < 0)
174 return err; 174 return err;
175 return put_user(raddr, (compat_ulong_t *)compat_ptr(third)); 175 return put_user(raddr, (compat_ulong_t __user *)compat_ptr(third));
176 } 176 }
177 case SHMDT: 177 case SHMDT:
178 return sys_shmdt(compat_ptr(ptr)); 178 return sys_shmdt(compat_ptr(ptr));