MIPS: Partially disable RIXI support.
authorRalf Baechle <ralf@linux-mips.org>
Thu, 23 Jul 2015 09:10:59 +0000 (11:10 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 3 Aug 2015 07:25:11 +0000 (09:25 +0200)
commit55fdcb2d56b6edc027657fde9da0c4f224d32303
tree7a56bedf84ec15530dadee70047359e2f079c94e
parente070dab73523bcbf2409ba8b5c342d53bccc0959
MIPS: Partially disable RIXI support.

Execution of break instruction, trap instructions, emulation of unaligned
loads or floating point instructions - anything that tries to read the
instruction's opcode from userspace - needs read access to a page.

RIXI (Read Inhibit / Execute Inhibit) support however allows the creation of
pags that are executable but not readable.  On such a mapping the attempted
load of the opcode by the kernel is going to cause an endless loop of
page faults.

The quick workaround for this is to disable the combinations that the kernel
currently isn't able to handle which are executable mappings.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/mm/cache.c