]> 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>
Tue, 5 Jan 2021 17:30:20 +0000 (12:30 -0500)
Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
kernel/fork.c
mm/mmap.c

index 44a154f957462d84e74087265169f137ecfad328..2abc65388afaa4076f95cb69d1fe1cfac2bfede8 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 c78317c8fdca6db00634fbd9f78c6bba21038e88..24537cc57c1fa389ae50f61222c7e8ed6618cb27 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -3009,7 +3009,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);
 }