diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-05-12 21:05:59 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-05-12 21:05:59 +0000 |
commit | ba2dacab305c598cd4c34a604f8e276bf5bab5ff (patch) | |
tree | 78670a0139bf4d5ace617b29b7eba82bbc74d602 /kernel/ptrace.c | |
parent | b77bf69998121e689c5e86cc5630d39a0a9ee6ca (diff) |
Merge with Linux 2.3.99-pre7 and various other bits.
Diffstat (limited to 'kernel/ptrace.c')
-rw-r--r-- | kernel/ptrace.c | 9 |
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); |