summaryrefslogtreecommitdiffstats
path: root/kernel/ptrace.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-05-12 21:05:59 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-05-12 21:05:59 +0000
commitba2dacab305c598cd4c34a604f8e276bf5bab5ff (patch)
tree78670a0139bf4d5ace617b29b7eba82bbc74d602 /kernel/ptrace.c
parentb77bf69998121e689c5e86cc5630d39a0a9ee6ca (diff)
Merge with Linux 2.3.99-pre7 and various other bits.
Diffstat (limited to 'kernel/ptrace.c')
-rw-r--r--kernel/ptrace.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/kernel/ptrace.c b/kernel/ptrace.c
index 162c7083b..e009bca35 100644
--- a/kernel/ptrace.c
+++ b/kernel/ptrace.c
@@ -121,10 +121,13 @@ int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, in
struct vm_area_struct * vma;
/* Worry about races with exit() */
- lock_kernel();
+ task_lock(tsk);
mm = tsk->mm;
- atomic_inc(&mm->mm_users);
- unlock_kernel();
+ if (mm)
+ atomic_inc(&mm->mm_users);
+ task_unlock(tsk);
+ if (!mm)
+ return 0;
down(&mm->mmap_sem);
vma = find_extend_vma(mm, addr);