]> err.no Git - linux-2.6/commit
[S390] Fix irq tracing and lockdep_sys_exit calls.
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 20 Nov 2007 10:13:32 +0000 (11:13 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 20 Nov 2007 10:13:45 +0000 (11:13 +0100)
commit411788ea7fca01ee803af8225ac35807b4d02050
treea9704a068513b438bbe33b219ef9f6c29be01918
parent7aa8dac7ac68f5c2293e2ecf5ef542aa849f541f
[S390] Fix irq tracing and lockdep_sys_exit calls.

Current support for TRACE_IRQFLAGS and lockdep_sys_exit is broken.
IRQ flag tracing is broken for program checks. Even worse is that
the newly introduced calls to lockdep_sys_exit are in the critical
section code which is not supposed to call any C functions. In
addition the checks if locks are still held are also done when
returning to kernel code which is broken as well.
Fix all this by disabling interrupts and machine checks at the
exit paths and then do the appropriate checks and calls.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/entry.S
arch/s390/kernel/entry64.S
arch/s390/kernel/setup.c
include/asm-s390/system.h