Skip to content

powerpc/mm: Fix kernel protection and implement CONFIG_DEBUG_RODATA on PPC32

Christophe Leroy linuxppc-dev lkml 3 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest3 patches 0 repliesNew
  2. v23 patches 5 repliesSuperseded
  3. v13 patches 4 repliesSuperseded

Changes in v3 from the cover letter

Changing the rights is performed in patch_instruction() instead of being done only in ftrace, so that other functionnalities like jump_label also works.

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3powerpc/mm: Ensure change_page_attr() doesn't invalidate pinned TLBsarch/powerpc/mm/pgtable_32.c+6 -40 replies
2/3powerpc/mm: Fix kernel RAM protection after freeing unused memory on PPC32arch/powerpc/mm/mem.c arch/powerpc/mm/mmu_decl.h arch/powerpc/mm/pgtable_32.c+14 -30 replies
3/3powerpc/mm: Implement CONFIG_DEBUG_RODATA on PPC32arch/powerpc/Kconfig.debug arch/powerpc/include/asm/pgtable.h arch/powerpc/lib/code-patching.c +2 more+76 -10 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [PATCH v3 0/3] powerpc/mm: Fix kernel protection and implement CONFIG_DEBUG_RODATA on PPC32

This patch set implements CONFIG_DEBUG_RODATA on Powerpc32 after fixing a few issues related to kernel code page protection.

Changes in v2:
Instead of making the entire kernel RW to patch code in ftrace, we now only change the rights on the page to be modified

Changes in v3:
Changing the rights is performed in patch_instruction() instead of being done only in ftrace, so that other functionnalities like jump_label also works.

Christophe Leroy (3):
powerpc/mm: Ensure change_page_attr() doesn't invalidate pinned TLBs powerpc/mm: Fix kernel RAM protection after freeing unused memory on

    PPC32

powerpc/mm: Implement CONFIG_DEBUG_RODATA on PPC32

 arch/powerpc/Kconfig.debug         | 11 ++++++
 arch/powerpc/include/asm/pgtable.h |  8 +++++
 arch/powerpc/lib/code-patching.c   |  9 +++++
 arch/powerpc/mm/init_32.c          |  3 +-
 arch/powerpc/mm/mem.c              |  1 +
 arch/powerpc/mm/mmu_decl.h         |  3 ++
 arch/powerpc/mm/pgtable_32.c       | 69 ++++++++++++++++++++++++++++++++++----
 7 files changed, 96 insertions(+), 8 deletions(-)
Signature · 1 line
2.12.0