Re: [PATCH 6.6] backport: fix 6.6 backport of changes to fork

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Same for this one, incomplete so please hold off on this patch for now.

On Mon, Jun 3, 2024 at 4:25 PM Leah Rumancik <leah.rumancik@xxxxxxxxx> wrote:
>
> The original backport didn't move the code to link the vma into the MT
> and also the code to increment the map_count causing ~15 xfstests
> (including ext4/303 generic/051 generic/054 generic/069) to hard fail
> on some platforms. This patch resolves test failures.
>
> Fixes: cec11fa2eb51 ("fork: defer linking file vma until vma is fully initialized")
> Signed-off-by: Leah Rumancik <leah.rumancik@xxxxxxxxx>
> ---
>  kernel/fork.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/kernel/fork.c b/kernel/fork.c
> index 2eab916b504b..3bf0203c2195 100644
> --- a/kernel/fork.c
> +++ b/kernel/fork.c
> @@ -733,6 +733,12 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
>                 if (is_vm_hugetlb_page(tmp))
>                         hugetlb_dup_vma_private(tmp);
>
> +               /* Link the vma into the MT */
> +               if (vma_iter_bulk_store(&vmi, tmp))
> +                       goto fail_nomem_vmi_store;
> +
> +               mm->map_count++;
> +
>                 if (tmp->vm_ops && tmp->vm_ops->open)
>                         tmp->vm_ops->open(tmp);
>
> @@ -752,11 +758,6 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
>                         i_mmap_unlock_write(mapping);
>                 }
>
> -               /* Link the vma into the MT */
> -               if (vma_iter_bulk_store(&vmi, tmp))
> -                       goto fail_nomem_vmi_store;
> -
> -               mm->map_count++;
>                 if (!(tmp->vm_flags & VM_WIPEONFORK))
>                         retval = copy_page_range(tmp, mpnt);
>
> --
> 2.45.1.288.g0e0cd299f1-goog
>





[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux