s390: fix floating point register corruption
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Wed, 9 Sep 2015 11:15:00 +0000 (13:15 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 17 Sep 2015 11:43:41 +0000 (13:43 +0200)
commit9380cf5a884e237fc0e2571d5adf0b43bb4412c8
treecf21220ae6b9ef46f02ffc636dd2b660a3d147c8
parent88d64253785936d75323c74e7126d180e26de560
s390: fix floating point register corruption

The critical section cleanup code misses to add the offset of the
thread_struct to the task address.
Therefore, if the critical section code gets executed, it may corrupt
the task struct or restore the contents of the floating point registers
from the wrong memory location.
Fixes d0164ee20d "s390/kernel: remove save_fpu_regs() parameter and use
__LC_CURRENT instead".

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Reviewed-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/entry.S