[RFC PATCH RESEND 08/28] mm/khugepaged: mark VMA as locked while collapsing a hugepage

From: Suren Baghdasaryan
Date: Thu Sep 01 2022 - 13:36:52 EST


Protect VMA from concurrent page fault handler while modifying it in
collapse_huge_page.

Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
---
mm/khugepaged.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/mm/khugepaged.c b/mm/khugepaged.c
index 01f71786d530..030680633989 100644
--- a/mm/khugepaged.c
+++ b/mm/khugepaged.c
@@ -1072,6 +1072,7 @@ static void collapse_huge_page(struct mm_struct *mm,
if (mm_find_pmd(mm, address) != pmd)
goto out_up_write;

+ vma_mark_locked(vma);
anon_vma_lock_write(vma->anon_vma);

mmu_notifier_range_init(&range, MMU_NOTIFY_CLEAR, 0, NULL, mm,
--
2.37.2.789.g6183377224-goog