Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

s390: fix restore of invalid floating-point-control

The fixup of the inline assembly to restore the floating-point-control
register needs to check for instruction address *after* the lfcp
instruction as the specification and data exceptions are suppresssing.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

+2 -2
+2 -2
arch/s390/include/asm/switch_to.h
··· 51 51 return 0; 52 52 53 53 asm volatile( 54 - "0: lfpc %1\n" 55 - " la %0,0\n" 54 + " lfpc %1\n" 55 + "0: la %0,0\n" 56 56 "1:\n" 57 57 EX_TABLE(0b,1b) 58 58 : "=d" (rc) : "Q" (*fpc), "0" (-EINVAL));