]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
fork rcu fix
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Tue, 16 Mar 2021 19:59:04 +0000 (15:59 -0400)
committerLiam R. Howlett <Liam.Howlett@Oracle.com>
Tue, 16 Mar 2021 19:59:04 +0000 (15:59 -0400)
Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
kernel/fork.c

index 58bcee1c5854fcfd8ee389bc8cf22dae827d4897..d965b248c7720c6d09e2c7ffce754f7dcdf1ead8 100644 (file)
@@ -506,6 +506,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
        if (retval)
                goto fail_nomem;
 
+       rcu_read_lock();
        mas_for_each(&old_mas, mpnt, ULONG_MAX) {
                struct file *file;
 
@@ -595,6 +596,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
        retval = arch_dup_mmap(oldmm, mm);
 loop_out:
 out:
+       rcu_read_unlock();
        mmap_write_unlock(mm);
        flush_tlb_mm(oldmm);
        mmap_write_unlock(oldmm);