[PATCH] mm/gup: dereference page table entry using helper

From: Alexander Gordeev
Date: Tue Apr 14 2020 - 11:10:29 EST


Commit 0005d20 ("mm/gup: Move page table entry dereference
into helper function") wrapped access to page table entries
larger than sizeof(long) into a race-aware accessor. One of
the two dereferences in gup_fast path was however overlooked.

CC: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
CC: linux-mm@xxxxxxxxx
Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxxxxx>
---
mm/gup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/gup.c b/mm/gup.c
index d53f7dd..eceb98b 100644
--- a/mm/gup.c
+++ b/mm/gup.c
@@ -2208,7 +2208,7 @@ static int gup_pte_range(pmd_t pmd, unsigned long addr, unsigned long end,
if (!head)
goto pte_unmap;

- if (unlikely(pte_val(pte) != pte_val(*ptep))) {
+ if (unlikely(pte_val(pte) != pte_val(gup_get_pte(ptep)))) {
put_compound_head(head, 1, flags);
goto pte_unmap;
}
--
1.8.3.1