summaryrefslogtreecommitdiffstats
path: root/ipc
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2001-04-05 04:55:58 +0000
committerRalf Baechle <ralf@linux-mips.org>2001-04-05 04:55:58 +0000
commit74a9f2e1b4d3ab45a9f72cb5b556c9f521524ab3 (patch)
tree7c4cdb103ab1b388c9852a88bd6fb1e73eba0b5c /ipc
parentee6374c8b0d333c08061c6a97bc77090d7461225 (diff)
Merge with Linux 2.4.3.
Note that mingetty does no longer work with serial console, you have to switch to another getty like getty_ps. This commit also includes a fix for a setitimer bug which did prevent getty_ps from working on older kernels.
Diffstat (limited to 'ipc')
-rw-r--r--ipc/shm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/ipc/shm.c b/ipc/shm.c
index 10856ad64..c4af6517d 100644
--- a/ipc/shm.c
+++ b/ipc/shm.c
@@ -607,9 +607,9 @@ asmlinkage long sys_shmat (int shmid, char *shmaddr, int shmflg, ulong *raddr)
shp->shm_nattch++;
shm_unlock(shmid);
- down(&current->mm->mmap_sem);
+ down_write(&current->mm->mmap_sem);
user_addr = (void *) do_mmap (file, addr, file->f_dentry->d_inode->i_size, prot, flags, 0);
- up(&current->mm->mmap_sem);
+ up_write(&current->mm->mmap_sem);
down (&shm_ids.sem);
if(!(shp = shm_lock(shmid)))
@@ -638,14 +638,14 @@ asmlinkage long sys_shmdt (char *shmaddr)
struct mm_struct *mm = current->mm;
struct vm_area_struct *shmd, *shmdnext;
- down(&mm->mmap_sem);
+ down_write(&mm->mmap_sem);
for (shmd = mm->mmap; shmd; shmd = shmdnext) {
shmdnext = shmd->vm_next;
if (shmd->vm_ops == &shm_vm_ops
&& shmd->vm_start - (shmd->vm_pgoff << PAGE_SHIFT) == (ulong) shmaddr)
do_munmap(mm, shmd->vm_start, shmd->vm_end - shmd->vm_start);
}
- up(&mm->mmap_sem);
+ up_write(&mm->mmap_sem);
return 0;
}