linux_dsm_epyc7002/arch/s390
Heiko Carstens 5ebf250dab s390: fix handling of runtime instrumentation psw bit
Fix the following bugs:
- When returning from a signal the signal handler copies the saved psw mask
  from user space and uses parts of it. Especially it restores the RI bit
  unconditionally. If however the machine doesn't support RI, or RI is
  disabled for the task, the last lpswe instruction which returns to user
  space will generate a specification exception.
  To fix this check if the RI bit is allowed to be set and kill the task
  if not.
- In the compat mode signal handler code the RI bit of the psw mask gets
  propagated to the mask of the return psw: if user space enables RI in the
  signal handler, RI will also be enabled after the signal handler is
  finished.
  This is a different behaviour than with 64 bit tasks. So change this to
  match the 64 bit semantics, which restores the original RI bit value.
- Fix similar oddities within the ptrace code as well.

Reviewed-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2013-10-24 17:17:11 +02:00
..
appldata s390/appldata: make copy_from_user() invocations provably correct 2013-10-24 17:17:07 +02:00
boot s390: add support for LZ4-compressed kernel 2013-07-26 13:25:19 +02:00
crypto s390/crypto: fix aes_s390 crypto module unload problem 2013-10-24 17:17:10 +02:00
hypfs Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-09-05 08:50:26 -07:00
include s390: fix handling of runtime instrumentation psw bit 2013-10-24 17:17:11 +02:00
kernel s390: fix handling of runtime instrumentation psw bit 2013-10-24 17:17:11 +02:00
kvm s390: fix save and restore of the floating-point-control register 2013-10-24 17:17:11 +02:00
lib s390/uaccess: always run the kernel in home space 2013-10-24 17:16:57 +02:00
math-emu s390: fix save and restore of the floating-point-control register 2013-10-24 17:17:11 +02:00
mm s390/cmm: make copy_from_user() invocation provably correct 2013-10-24 17:17:07 +02:00
net s390/bpf,jit: fix prolog oddity 2013-10-24 17:16:59 +02:00
oprofile Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2013-09-11 08:36:03 -07:00
pci s390/pci: implement hibernation hooks 2013-10-24 17:16:57 +02:00
defconfig s390: update defconfig 2013-09-04 17:19:01 +02:00
Kbuild s390/pci: base support 2012-11-30 15:40:45 +01:00
Kconfig s390/bitops: use generic find bit functions / reimplement _left variant 2013-10-24 17:16:55 +02:00
Kconfig.debug Kconfig: consolidate CONFIG_DEBUG_STRICT_USER_COPY_CHECKS 2013-04-30 17:04:09 -07:00
Makefile s390: always set -march compiler option 2013-10-24 17:16:44 +02:00