2023-05-22 05:09:42

by Hugh Dickins

[permalink] [raw]
Subject: [PATCH 06/31] mm/page_vma_mapped: delete bogosity in page_vma_mapped_walk()

Revert commit a7a69d8ba88d ("mm/thp: another PVMW_SYNC fix in
page_vma_mapped_walk()"): I was proud of that "Aha!" commit at the time,
but in revisiting page_vma_mapped_walk() for pte_offset_map() failure,
that block raised a doubt: and it now seems utterly bogus. The prior
map_pte() has taken ptl unconditionally when PVMW_SYNC: I must have
forgotten that when making the change. It did no harm, but could not
have fixed a BUG or WARN, and is hard to reconcile with coming changes.

Signed-off-by: Hugh Dickins <[email protected]>
---
mm/page_vma_mapped.c | 4 ----
1 file changed, 4 deletions(-)

diff --git a/mm/page_vma_mapped.c b/mm/page_vma_mapped.c
index 64aff6718bdb..007dc7456f0e 100644
--- a/mm/page_vma_mapped.c
+++ b/mm/page_vma_mapped.c
@@ -275,10 +275,6 @@ bool page_vma_mapped_walk(struct page_vma_mapped_walk *pvmw)
goto restart;
}
pvmw->pte++;
- if ((pvmw->flags & PVMW_SYNC) && !pvmw->ptl) {
- pvmw->ptl = pte_lockptr(mm, pvmw->pmd);
- spin_lock(pvmw->ptl);
- }
} while (pte_none(*pvmw->pte));

if (!pvmw->ptl) {
--
2.35.3