Re: [PATCH 3/3] hugetlb: allocate vma lock for all sharable vmas

From: Miaohe Lin
Date: Fri Oct 14 2022 - 21:40:28 EST


On 2022/10/5 9:17, Mike Kravetz wrote:
> The hugetlb vma lock was originally designed to synchronize pmd sharing.
> As such, it was only necessary to allocate the lock for vmas that were
> capable of pmd sharing. Later in the development cycle, it was discovered
> that it could also be used to simplify fault/truncation races as described
> in [1]. However, a subsequent change to allocate the lock for all vmas
> that use the page cache was never made. A fault/truncation race could
> leave pages in a file past i_size until the file is removed.
>
> Remove the previous restriction and allocate lock for all VM_MAYSHARE
> vmas. Warn in the unlikely event of allocation failure.
>
> Fixes: "hugetlb: clean up code checking for fault/truncation races"
> Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx>

I believe this is a feasible solution. Thanks.

Reviewed-by: Miaohe Lin <linmiaohe@xxxxxxxxxx>

Thanks,
Miaohe Lin