projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
1152244
)
powerpc/40x: Always fault when _PAGE_ACCESSED is not set
author
Christophe Leroy
<christophe.leroy@csgroup.eu>
Sat, 10 Oct 2020 15:14:29 +0000
(15:14 +0000)
committer
Michael Ellerman
<mpe@ellerman.id.au>
Thu, 5 Nov 2020 12:34:16 +0000
(23:34 +1100)
The kernel expects pte_young() to work regardless of CONFIG_SWAP.
Make sure a minor fault is taken to set _PAGE_ACCESSED when it
is not already set, regardless of the selection of CONFIG_SWAP.
Fixes:
2c74e2586bb9
("powerpc/40x: Rework 40x PTE access and TLB miss")
Cc: stable@vger.kernel.org
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link:
https://lore.kernel.org/r/b02ca2ed2d3676a096219b48c0f69ec982a75bcf.1602342801.git.christophe.leroy@csgroup.eu
arch/powerpc/kernel/head_40x.S
patch
|
blob
|
history
diff --git
a/arch/powerpc/kernel/head_40x.S
b/arch/powerpc/kernel/head_40x.S
index
44c9018
..
a1ae006
100644
(file)
--- a/
arch/powerpc/kernel/head_40x.S
+++ b/
arch/powerpc/kernel/head_40x.S
@@
-284,11
+284,7
@@
_ENTRY(saved_ksp_limit)
rlwimi r11, r10, 22, 20, 29 /* Compute PTE address */
lwz r11, 0(r11) /* Get Linux PTE */
-#ifdef CONFIG_SWAP
li r9, _PAGE_PRESENT | _PAGE_ACCESSED
-#else
- li r9, _PAGE_PRESENT
-#endif
andc. r9, r9, r11 /* Check permission */
bne 5f
@@
-369,11
+365,7
@@
_ENTRY(saved_ksp_limit)
rlwimi r11, r10, 22, 20, 29 /* Compute PTE address */
lwz r11, 0(r11) /* Get Linux PTE */
-#ifdef CONFIG_SWAP
li r9, _PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC
-#else
- li r9, _PAGE_PRESENT | _PAGE_EXEC
-#endif
andc. r9, r9, r11 /* Check permission */
bne 5f