MIPS Read Inhibit/eXecute Inhibit support.
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest4 patches 2 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/4 | MIPS: Use 64-bit stores to c0_entrylo on 64-bit kernels.arch/ | +10 | 0 replies | |
| 2/4 | MIPS: Add accessor functions and bit definitions for c0_PageGrainarch/ | +11 | 0 replies | |
| 3/4 | MIPS: Add TLBP to uasm.arch/ arch/ | +5 | 2 replies | |
| 4/4 | MIPS: Implement Read Inhibit/eXecute Inhibitarch/ arch/ arch/ +6 more | +282 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
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(-)