projects
/
linux
/
.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
925ac14
)
powerpc/mm: Fix conditions to perform MMU specific management by blocks on PPC32.
author
Christophe Leroy
<christophe.leroy@csgroup.eu>
Tue, 19 May 2020 05:48:59 +0000
(
05:48
+0000)
committer
Michael Ellerman
<mpe@ellerman.id.au>
Tue, 26 May 2020 12:22:19 +0000
(22:22 +1000)
Setting init mem to NX shall depend on sinittext being mapped by
block, not on stext being mapped by block.
Setting text and rodata to RO shall depend on stext being mapped by
block, not on sinittext being mapped by block.
Fixes:
63b2bc619565
("powerpc/mm/32s: Use BATs for STRICT_KERNEL_RWX")
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/7d565fb8f51b18a3d98445a830b2f6548cb2da2a.1589866984.git.christophe.leroy@csgroup.eu
arch/powerpc/mm/pgtable_32.c
patch
|
blob
|
history
diff --git
a/arch/powerpc/mm/pgtable_32.c
b/arch/powerpc/mm/pgtable_32.c
index 9934659cb87155ba0d2797fc77d659e325a1781b..bd0cb6e3573ea91c35156a5e581e5a637310a5cf 100644
(file)
--- a/
arch/powerpc/mm/pgtable_32.c
+++ b/
arch/powerpc/mm/pgtable_32.c
@@
-185,7
+185,7
@@
void mark_initmem_nx(void)
unsigned long numpages = PFN_UP((unsigned long)_einittext) -
PFN_DOWN((unsigned long)_sinittext);
- if (v_block_mapped((unsigned long)_s
text + 1
))
+ if (v_block_mapped((unsigned long)_s
inittext
))
mmu_mark_initmem_nx();
else
change_page_attr(page, numpages, PAGE_KERNEL);
@@
-197,7
+197,7
@@
void mark_rodata_ro(void)
struct page *page;
unsigned long numpages;
- if (v_block_mapped((unsigned long)_s
inittext
)) {
+ if (v_block_mapped((unsigned long)_s
text + 1
)) {
mmu_mark_rodata_ro();
ptdump_check_wx();
return;