]> 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>
Fri, 30 Oct 2020 19:09:15 +0000 (15:09 -0400)
Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
kernel/fork.c

index 1bb1ff1c337039db5c075b815a482711ebac2855..8fd147e1e7e73fb6259757e454226afc5769df2e 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;