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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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(-)



[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux