Skip to content

MIPS Read Inhibit/eXecute Inhibit support.

David Daney linux-mips 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4MIPS: Use 64-bit stores to c0_entrylo on 64-bit kernels.arch/mips/mm/tlbex.c+10 -100 replies
2/4MIPS: Add accessor functions and bit definitions for c0_PageGrainarch/mips/include/asm/mipsregs.h+11 -00 replies
3/4MIPS: Add TLBP to uasm.arch/mips/include/asm/uasm.h arch/mips/mm/uasm.c+5 -12 replies
4/4MIPS: Implement Read Inhibit/eXecute Inhibitarch/mips/Kconfig arch/mips/include/asm/pgtable-64.h arch/mips/include/asm/pgtable-bits.h +6 more+282 -230 replies

Reviews trailers per patch

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

Read the v1 thread

Cover letter [PATCH 0/4] MIPS Read Inhibit/eXecute Inhibit support.

This patch set adds execute and read inhibit support. By default glibc based tool chains will create mappings for data areas of a program and shared libraries with PROT_EXEC cleared. With this patch applied, a SIGSEGV is correctly sent if an attempt is made to execute from data areas.

We have been running this patch for close to a year. So far it seems to work well, so I ported it to the HEAD for your enjoyment.

I will reply with the four patches.

David Daney (4):
MIPS: Use 64-bit stores to c0_entrylo on 64-bit kernels.
MIPS: Add accessor functions and bit definitions for c0_PageGrain
MIPS: Add TLBP to uasm.
MIPS: Implement Read Inhibit/eXecute Inhibit

 arch/mips/Kconfig                    |    7 ++
 arch/mips/include/asm/mipsregs.h     |   11 +++
 arch/mips/include/asm/pgtable-64.h   |    4 +
 arch/mips/include/asm/pgtable-bits.h |   59 ++++++++++++-
 arch/mips/include/asm/pgtable.h      |   39 ++++++++-
 arch/mips/include/asm/uasm.h         |    1 +
 arch/mips/mm/cache.c                 |   11 +++
 arch/mips/mm/fault.c                 |   23 +++++
 arch/mips/mm/init.c                  |    2 +-
 arch/mips/mm/tlb-r4k.c               |   15 +++-
 arch/mips/mm/tlbex.c                 |  165 
++++++++++++++++++++++++++++-----
 arch/mips/mm/uasm.c                  |    5 +-
 12 files changed, 308 insertions(+), 34 deletions(-)