]> git.baikalelectronics.ru Git - kernel.git/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)
commit16e4e0426f65ef9961167ba0a5f070cf29491e9a
treea9704a068513b438bbe33b219ef9f6c29be01918
parent1c6f0b8fb5ed61519672feabe6f36b7f762c549c
[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