]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mm and fork: Fix mtree_destroy path
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Fri, 4 Sep 2020 15:27:31 +0000 (11:27 -0400)
committerLiam R. Howlett <Liam.Howlett@Oracle.com>
Fri, 30 Oct 2020 19:11:03 +0000 (15:11 -0400)
Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
kernel/fork.c
mm/mmap.c

index 5cd131a3b892f62fce26a5c7da0b91297207b25d..72fdd9f792152a7dda2330edd6c1e951a72cd075 100644 (file)
@@ -1079,6 +1079,7 @@ static inline void __mmput(struct mm_struct *mm)
 {
        VM_BUG_ON(atomic_read(&mm->mm_users));
 
+       mt_clear_in_rcu(&mm->mm_mt);
        uprobe_clear_state(mm);
        exit_aio(mm);
        ksm_exit(mm);
@@ -1093,7 +1094,6 @@ static inline void __mmput(struct mm_struct *mm)
        }
        if (mm->binfmt)
                module_put(mm->binfmt->module);
-       mt_clear_in_rcu(&mm->mm_mt);
        mmdrop(mm);
 }
 
index e8d003699cfc51053814c3fcb3ffa33bb747ab4b..4a5b66849c6f3ecf5e8c406c226c1507d78e98b0 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -3001,7 +3001,7 @@ void exit_mmap(struct mm_struct *mm)
        }
 
        trace_exit_mmap(mm);
-       mtree_direct_destroy(&mm->mm_mt);
+       mtree_destroy(&mm->mm_mt);
        vm_unacct_memory(nr_accounted);
 }