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
..
2012-05-16 14:42:41 +02:00
2013-07-03 13:21:40 -07:00
2013-10-24 17:17:06 +02:00
2011-01-05 12:47:31 +01:00
2013-05-15 13:09:09 +02:00
2013-05-15 13:09:09 +02:00
2013-02-28 09:37:13 +01:00
2013-08-22 12:20:08 +02:00
2013-06-05 17:36:21 +02:00
2013-10-24 17:17:04 +02:00
2013-01-08 10:57:10 +01:00
2013-04-17 14:07:28 +02:00