s390: fix test_fp_ctl inline assembly contraints
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 27 Jun 2016 15:06:45 +0000 (17:06 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 28 Jun 2016 07:24:28 +0000 (09:24 +0200)
commitbcf4dd5f9ee096bd1510f838dd4750c35df4e38b
tree8077b22cea87210acb52b09075a0ff43ddd2fd38
parent5419447e2142d6ed68c9f5c1a28630b3a290a845
s390: fix test_fp_ctl inline assembly contraints

The test_fp_ctl function is used to test if a given value is a valid
floating-point control. The inline assembly in test_fp_ctl uses an
incorrect constraint for the 'orig_fpc' variable. If the compiler
chooses the same register for 'fpc' and 'orig_fpc' the test_fp_ctl()
function always returns true. This allows user space to trigger
kernel oopses with invalid floating-point control values on the
signal stack.

This problem has been introduced with git commit 4725c86055f5bbdcdf
"s390: fix save and restore of the floating-point-control register"

Cc: stable@vger.kernel.org # v3.13+
Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/fpu/api.h