linux-mips
[Top] [All Lists]

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

To: Ralf Baechle <ralf@linux-mips.org>, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH 0/4] MIPS Read Inhibit/eXecute Inhibit support.
From: David Daney <ddaney@caviumnetworks.com>
Date: Fri, 05 Feb 2010 15:26:04 -0800
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
User-agent: Thunderbird 2.0.0.21 (X11/20090320)
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(-)


<Prev in Thread] Current Thread [Next in Thread>