aboutsummaryrefslogtreecommitdiff
path: root/ipc
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-04-20 17:27:45 -0400
committerJeff Garzik <jeff@garzik.org>2006-04-20 17:27:45 -0400
commit9707b27100a48950f1e15e08a7c5028786e47f55 (patch)
tree5745b1e7497ae1499a2e2e9e0a567996419ab34f /ipc
parent8fc65162a8f25929be80c8d6321a3479e92b5aae (diff)
parent402a26f0c040077ed6f941eefac5a6971f0d5f40 (diff)
Merge branch 'master'
Diffstat (limited to 'ipc')
-rw-r--r--ipc/shm.c2
-rw-r--r--ipc/util.c3
2 files changed, 3 insertions, 2 deletions
diff --git a/ipc/shm.c b/ipc/shm.c
index 6b0c9af5bbf..1c2faf62bc7 100644
--- a/ipc/shm.c
+++ b/ipc/shm.c
@@ -162,6 +162,8 @@ static int shm_mmap(struct file * file, struct vm_area_struct * vma)
ret = shmem_mmap(file, vma);
if (ret == 0) {
vma->vm_ops = &shm_vm_ops;
+ if (!(vma->vm_flags & VM_WRITE))
+ vma->vm_flags &= ~VM_MAYWRITE;
shm_inc(file->f_dentry->d_inode->i_ino);
}
diff --git a/ipc/util.c b/ipc/util.c
index 5e785a29e1e..b3dcfad3b4f 100644
--- a/ipc/util.c
+++ b/ipc/util.c
@@ -183,8 +183,7 @@ static int grow_ary(struct ipc_ids* ids, int newsize)
if(new == NULL)
return size;
new->size = newsize;
- memcpy(new->p, ids->entries->p, sizeof(struct kern_ipc_perm *)*size +
- sizeof(struct ipc_id_ary));
+ memcpy(new->p, ids->entries->p, sizeof(struct kern_ipc_perm *)*size);
for(i=size;i<newsize;i++) {
new->p[i] = NULL;
}