]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
fork: Now with dup tree
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Mon, 24 Aug 2020 16:22:27 +0000 (12:22 -0400)
committerLiam R. Howlett <Liam.Howlett@Oracle.com>
Tue, 5 Jan 2021 17:30:16 +0000 (12:30 -0500)
Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
kernel/fork.c

index d7cb213b090e898e3a0b1fed8822658598afcb09..7de6437caa657b61e0e466f0e9055ba5c78de30d 100644 (file)
@@ -473,6 +473,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
        int retval;
        unsigned long charge;
        MA_STATE(old_mas, &oldmm->mm_mt, 0, 0);
+       MA_STATE(mas, &mm->mm_mt, 0, 0);
        LIST_HEAD(uf);
        MA_STATE(old_mas, &oldmm->mm_mt, 0, 0);
        struct vm_area_struct *old_vma;
@@ -508,6 +509,9 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
        prev = NULL;
 
        rcu_read_lock();
+       mas_dup_tree(&old_mas, &mas);
+       mas_reset(&old_mas);
+
        mas_for_each(&old_mas, mpnt, ULONG_MAX) {
                struct file *file;