alistair23-linux/arch/s390/kvm
Martin Schwidefsky 4725c86055 s390: fix save and restore of the floating-point-control register
The FPC_VALID_MASK has been used to check the validity of the value
to be loaded into the floating-point-control register. With the
introduction of the floating-point extension facility and the
decimal-floating-point additional bits have been defined which need
to be checked in a non straight forward way. So far these bits have
been ignored which can cause an incorrect results for decimal-
floating-point operations, e.g. an incorrect rounding mode to be
set after signal return.

The static check with the FPC_VALID_MASK is replaced with a trial
load of the floating-point-control value, see test_fp_ctl.

In addition an information leak with the padding word between the
floating-point-control word and the floating-point registers in
the s390_fp_regs is fixed.

Reported-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Reviewed-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
..
diag.c KVM: s390: use cookies for ioeventfd 2013-07-18 12:29:24 +02:00
gaccess.h s390: Replace weird use of PTR_RET. 2013-07-15 11:25:02 +09:30
intercept.c KVM: s390: Reworked LCTL and LCTLG instructions 2013-06-20 23:32:39 +02:00
interrupt.c s390/time: correct use of store clock fast 2013-10-22 09:16:40 +02:00
Kconfig KVM: s390: Wire up ioeventfd. 2013-03-05 19:12:17 -03:00
kvm-s390.c s390: fix save and restore of the floating-point-control register 2013-10-24 17:17:11 +02:00
kvm-s390.h KVM: s390: Add helper function for setting condition code 2013-07-29 09:03:45 +02:00
Makefile KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles 2013-05-19 15:14:00 +03:00
priv.c Merge branch 'next' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2013-09-04 18:15:06 -07:00
sigp.c KVM: s390: Renamed PGM_PRIVILEGED_OPERATION 2013-06-20 23:31:04 +02:00
trace-s390.h KVM: s390: Add support for channel I/O instructions. 2013-01-07 19:53:43 -02:00
trace.h s390/dis: move disassembler function prototypes to proper header file 2013-10-24 17:16:48 +02:00