linux_dsm_epyc7002/arch/s390
Martin Schwidefsky 57d7f939e7 s390: add no-execute support
Bit 0x100 of a page table, segment table of region table entry
can be used to disallow code execution for the virtual addresses
associated with the entry.

There is one tricky bit, the system call to return from a signal
is part of the signal frame written to the user stack. With a
non-executable stack this would stop working. To avoid breaking
things the protection fault handler checks the opcode that caused
the fault for 0x0a77 (sys_sigreturn) and 0x0aad (sys_rt_sigreturn)
and injects a system call. This is preferable to the alternative
solution with a stub function in the vdso because it works for
vdso=off and statically linked binaries as well.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2017-02-08 14:13:25 +01:00
..
appldata Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
boot s390/sclp: make early sclp code readable 2017-02-08 14:13:19 +01:00
configs s390: update defconfigs 2017-01-16 07:27:48 +01:00
crypto s390/prng: Adjust generation of entropy to produce real 256 bits. 2017-01-31 10:46:10 +01:00
hypfs s390: hypfs: make inode explicitly non-modular 2016-10-31 17:55:40 +01:00
include s390: add no-execute support 2017-02-08 14:13:25 +01:00
kernel s390: add no-execute support 2017-02-08 14:13:25 +01:00
kvm s390: remove couple of unneeded semicolons 2017-01-16 07:27:54 +01:00
lib s390/lib: improve memmove, memset and memcpy 2017-01-16 07:27:51 +01:00
mm s390: add no-execute support 2017-02-08 14:13:25 +01:00
net s390/bpf: remove redundant check for non-null image 2017-01-16 07:27:55 +01:00
numa s390/numa: pin all possible cpus to nodes early 2016-12-07 07:23:33 +01:00
oprofile s390/dumpstack: restore reliable indicator for call traces 2016-10-17 14:44:30 +02:00
pci s390/pci: use proper endianness annotations 2017-01-16 07:27:53 +01:00
tools s390: remove unneeded dependency for gen_facilities 2016-11-08 10:30:28 +01:00
defconfig s390: update defconfigs 2017-01-16 07:27:48 +01:00
Kbuild s390/numa: add core infrastructure 2015-08-03 18:40:25 +02:00
Kconfig Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2016-12-13 16:33:33 -08:00
Kconfig.debug s390: provide sclp based boot console 2017-01-16 07:27:55 +01:00
Makefile s390: add assembler include path for vx-insn.h 2016-09-06 11:00:04 +02:00