linux-stable/arch/s390/lib
Heiko Carstens 1856405862 s390/test_unwind: fix CALL_ON_STACK tests
[ Upstream commit f22b9c219a ]

The CALL_ON_STACK tests use the no_dat stack to switch to a different
stack for unwinding tests. If an interrupt or machine check happens
while using that stack, and previously being on the async stack, the
interrupt / machine check entry code (SWITCH_ASYNC) will assume that
the previous context did not use the async stack and happily use the
async stack again.

This will lead to stack corruption of the previous context.

To solve this disable both interrupts and machine checks before
switching to the no_dat stack.

Fixes: 7868249fbb ("s390/test_unwind: add CALL_ON_STACK tests")
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-12-30 11:53:56 +01:00
..
delay.c s390: fix irq state tracing 2020-12-02 18:17:50 +01:00
error-inject.c s390: enable HAVE_FUNCTION_ERROR_INJECTION 2020-07-27 10:33:28 +02:00
find.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile s390: enable HAVE_FUNCTION_ERROR_INJECTION 2020-07-27 10:33:28 +02:00
mem.S s390: add missing ENDPROC statements to assembler functions 2019-05-02 13:54:11 +02:00
probes.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spinlock.c s390/spinlock: remove confusing comment in arch_spin_lock_wait 2019-12-11 19:53:23 +01:00
string.c s390/lib: fix kernel doc for memcmp() 2020-10-07 21:50:01 +02:00
test_unwind.c s390/test_unwind: fix CALL_ON_STACK tests 2020-12-30 11:53:56 +01:00
uaccess.c s390/mm: fix page table upgrade vs 2ndary address mode accesses 2020-04-21 15:16:43 +02:00
xor.c s390/lib: add missing include 2019-07-29 18:05:02 +02:00