]> git.hungrycats.org Git - linux/commitdiff
[PATCH] TLB shootdown infrastructure in 2.5
authorAnton Blanchard <anton@samba.org>
Tue, 28 May 2002 12:32:53 +0000 (05:32 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Tue, 28 May 2002 12:32:53 +0000 (05:32 -0700)
It looks like a race betwen exec_mmap and access_process_vm in
proc_pid_cmdline (or any other procfs functions that uses
access_process_vm).

fs/exec.c

index 532d18eadc3ed9f174d57224fc7001a3569ea6d7..7cdef9f1ab1b111406dd12a815a607d33585e07b 100644 (file)
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -396,11 +396,14 @@ static int exec_mmap(void)
        struct mm_struct * mm, * old_mm;
 
        old_mm = current->mm;
+       task_lock(current);
        if (old_mm && atomic_read(&old_mm->mm_users) == 1) {
                mm_release();
                exit_mmap(old_mm);
+               task_unlock(current);
                return 0;
        }
+       task_unlock(current);
 
        mm = mm_alloc();
        if (mm) {