projects
/
platform
/
kernel
/
linux-rpi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
1497eea
)
mm/gup: Use huge_ptep_get() in gup_hugepte()
author
Christophe Leroy
<christophe.leroy@csgroup.eu>
Mon, 15 Jun 2020 12:57:57 +0000
(12:57 +0000)
committer
Michael Ellerman
<mpe@ellerman.id.au>
Sat, 20 Jun 2020 12:14:53 +0000
(22:14 +1000)
gup_hugepte() reads hugepage table entries, it can't read
them directly, huge_ptep_get() must be used.
Fixes:
9e343b467c70
("READ_ONCE: Enforce atomicity for {READ,WRITE}_ONCE() memory accesses")
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Acked-by: Will Deacon <will@kernel.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link:
https://lore.kernel.org/r/ffc3714334c3bfaca6f13788ad039e8759ae413f.1592225558.git.christophe.leroy@csgroup.eu
mm/gup.c
patch
|
blob
|
history
diff --git
a/mm/gup.c
b/mm/gup.c
index
de9e362
..
761df49
100644
(file)
--- a/
mm/gup.c
+++ b/
mm/gup.c
@@
-2425,7
+2425,7
@@
static int gup_hugepte(pte_t *ptep, unsigned long sz, unsigned long addr,
if (pte_end < end)
end = pte_end;
- pte =
READ_ONCE(*
ptep);
+ pte =
huge_ptep_get(
ptep);
if (!pte_access_permitted(pte, flags & FOLL_WRITE))
return 0;