diff options
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/shm.c | 2 | ||||
-rw-r--r-- | ipc/util.c | 3 |
2 files changed, 3 insertions, 2 deletions
@@ -162,6 +162,8 @@ static int shm_mmap(struct file * file, struct vm_area_struct * vma) | |||
162 | ret = shmem_mmap(file, vma); | 162 | ret = shmem_mmap(file, vma); |
163 | if (ret == 0) { | 163 | if (ret == 0) { |
164 | vma->vm_ops = &shm_vm_ops; | 164 | vma->vm_ops = &shm_vm_ops; |
165 | if (!(vma->vm_flags & VM_WRITE)) | ||
166 | vma->vm_flags &= ~VM_MAYWRITE; | ||
165 | shm_inc(file->f_dentry->d_inode->i_ino); | 167 | shm_inc(file->f_dentry->d_inode->i_ino); |
166 | } | 168 | } |
167 | 169 | ||
diff --git a/ipc/util.c b/ipc/util.c index 5e785a29e1e6..b3dcfad3b4f7 100644 --- a/ipc/util.c +++ b/ipc/util.c | |||
@@ -183,8 +183,7 @@ static int grow_ary(struct ipc_ids* ids, int newsize) | |||
183 | if(new == NULL) | 183 | if(new == NULL) |
184 | return size; | 184 | return size; |
185 | new->size = newsize; | 185 | new->size = newsize; |
186 | memcpy(new->p, ids->entries->p, sizeof(struct kern_ipc_perm *)*size + | 186 | memcpy(new->p, ids->entries->p, sizeof(struct kern_ipc_perm *)*size); |
187 | sizeof(struct ipc_id_ary)); | ||
188 | for(i=size;i<newsize;i++) { | 187 | for(i=size;i<newsize;i++) { |
189 | new->p[i] = NULL; | 188 | new->p[i] = NULL; |
190 | } | 189 | } |