mm/hugetlb: make walk_hugetlb_range() safe to pmd unshare
authorPeter Xu <peterx@redhat.com>
Fri, 16 Dec 2022 15:52:26 +0000 (10:52 -0500)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 19 Jan 2023 01:12:39 +0000 (17:12 -0800)
commitdd361e5033cf36c51acab996ea17748b81cedb38
tree5b3eccbb296ae07feecfdfe622c6e051689308b3
parenteefc7fa53608920203a1402ecf7255ecfa8bb030
mm/hugetlb: make walk_hugetlb_range() safe to pmd unshare

Since walk_hugetlb_range() walks the pgtable, it needs the vma lock to
make sure the pgtable page will not be freed concurrently.

Link: https://lkml.kernel.org/r/20221216155226.2043738-1-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
Reviewed-by: John Hubbard <jhubbard@nvidia.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: James Houghton <jthoughton@google.com>
Cc: Jann Horn <jannh@google.com>
Cc: Miaohe Lin <linmiaohe@huawei.com>
Cc: Muchun Song <songmuchun@bytedance.com>
Cc: Nadav Amit <nadav.amit@gmail.com>
Cc: Rik van Riel <riel@surriel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/linux/pagewalk.h
mm/hmm.c
mm/pagewalk.c