linux/arch/s390
Martin Schwidefsky eda0c6d6b0 s390: fix race on TIF_MCCK_PENDING
There is a small race window in the __switch_to code in regard to
the transfer of the TIF_MCCK_PENDING bit from the previous to the
next task. The bit is transferred before the task struct pointer
and the thread-info pointer for the next task has been stored to
lowcore. If a machine check sets the TIF_MCCK_PENDING bit between
the transfer code and the store of current/thread_info the bit
is still set for the previous task. And if the previous task has
terminated it can get lost. The effect is that a pending CRW is
not retrieved until the next machine checks sets TIF_MCCK_PENDING.
To fix this reorder __switch_to to first store the task struct
and thread-info pointer and then do the transfer of the bit.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2012-05-16 14:42:46 +02:00
..
appldata sched/accounting: Change cpustat fields to an array 2011-12-06 09:06:38 +01:00
boot s390: add various .gitignore files. 2012-05-16 14:42:41 +02:00
crypto Disintegrate asm/system.h for S390 2012-03-28 18:30:02 +01:00
hypfs switch open-coded instances of d_make_root() to new helper 2012-03-20 21:29:35 -04:00
include/asm s390/barrier: make use of fast-bcr facility 2012-05-16 14:42:45 +02:00
kernel s390: fix race on TIF_MCCK_PENDING 2012-05-16 14:42:46 +02:00
kvm Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
lib [S390] rework idle code 2012-03-11 11:59:28 -04:00
math-emu s390: change to new flag variable 2011-03-17 14:02:57 +01:00
mm s390/pfault: add sanity check 2012-05-16 14:42:43 +02:00
oprofile Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
defconfig s390/crypto des: add missing select statement 2012-05-16 14:42:36 +02:00
Kbuild [S390] make arch/s390 subdirectories depend on config option 2011-12-27 11:27:12 +01:00
Kconfig s390/Kconfig: add HAVE_MARCH_[ARCH]_FEATURES Kconfig symbols 2012-05-16 14:42:43 +02:00
Kconfig.debug [S390] Write protect module text and RO data 2011-03-15 17:08:23 +01:00
Makefile [S390] cleanup entry point definition 2012-01-18 18:03:41 +01:00