linux/arch/s390/kernel
Heiko Carstens 29b0a8250b s390/etr,stp: fix possible deadlock on machine check
The first level machine check handler for etr and stp machine checks may
call queue_work() while in nmi context. This may deadlock e.g. if the
machine check happened when the interrupted context did hold a lock, that
also will be acquired by queue_work().
Therefore split etr and stp machine check handling into first and second
level handling. The second level handling will then issue the queue_work()
call in process context which avoids the potential deadlock.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2015-10-14 14:32:18 +02:00
..
vdso32 s390/vdso: emit a GNU hash 2015-08-07 09:57:39 +02:00
vdso64 s390/vdso: emit a GNU hash 2015-08-07 09:57:39 +02:00
.gitignore
asm-offsets.c s390/cpumf: rework program parameter setting to detect guest samples 2015-10-14 14:32:12 +02:00
audit.c
audit.h
base.S s390/kdump: fix nosmt kernel parameter 2015-06-25 09:39:26 +02:00
cache.c s390/cachinfo: add missing facility check to init_cache_level() 2015-07-28 08:54:42 +02:00
compat_audit.c
compat_linux.c
compat_linux.h
compat_ptrace.h
compat_signal.c s390/fpu: always enable the vector facility if it is available 2015-10-14 14:32:08 +02:00
compat_wrapper.c s390: wire up separate socketcalls system calls 2015-09-18 11:16:53 +02:00
cpcmd.c s390/diag: add a statistic for diagnose calls 2015-10-14 14:32:06 +02:00
crash_dump.c s390/crash_dump: use for_each_mem_range 2015-10-14 14:32:01 +02:00
debug.c
diag.c s390/diag: add tracepoint for diagnose calls 2015-10-14 14:32:06 +02:00
dis.c
dumpstack.c
early.c s390/fpu: always enable the vector facility if it is available 2015-10-14 14:32:08 +02:00
ebcdic.c
entry.h s390/udelay: make udelay have busy loop semantics 2015-10-14 14:32:13 +02:00
entry.S s390/udelay: make udelay have busy loop semantics 2015-10-14 14:32:13 +02:00
ftrace.c
head.S s390/facilities: remove transactional-execution bits 2015-08-19 10:03:34 +02:00
head64.S s390/cpumf: rework program parameter setting to detect guest samples 2015-10-14 14:32:12 +02:00
head_kdump.S
idle.c
ipl.c s390/diag: add a statistic for diagnose calls 2015-10-14 14:32:06 +02:00
irq.c
jump_label.c Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-03 15:46:07 -07:00
kprobes.c
lgr.c
machine_kexec.c
Makefile s390/diag: add tracepoint for diagnose calls 2015-10-14 14:32:06 +02:00
mcount.S
module.c
nmi.c s390/etr,stp: fix possible deadlock on machine check 2015-10-14 14:32:18 +02:00
os_info.c
perf_cpum_cf.c s390/cpum_cf: Corrected return code for unauthorized counter sets 2015-09-17 13:43:42 +02:00
perf_cpum_cf_events.c
perf_cpum_sf.c s390/cpumf: rework program parameter setting to detect guest samples 2015-10-14 14:32:12 +02:00
perf_event.c
pgm_check.S
process.c s390/fpu: add static FPU save area for init_task 2015-10-14 14:32:08 +02:00
processor.c s390/diag: add a statistic for diagnose calls 2015-10-14 14:32:06 +02:00
ptrace.c s390/fpu: always enable the vector facility if it is available 2015-10-14 14:32:08 +02:00
reipl.S
relocate_kernel.S
runtime_instr.c
s390_ksyms.c s390/fpu: always enable the vector facility if it is available 2015-10-14 14:32:08 +02:00
sclp.c s390/sclp: convert early sclp console code to C 2015-07-29 09:11:39 +02:00
setup.c s390/setup: fix novx parameter 2015-08-19 10:40:04 +02:00
signal.c s390/fpu: always enable the vector facility if it is available 2015-10-14 14:32:08 +02:00
smp.c s390/cpumf: rework program parameter setting to detect guest samples 2015-10-14 14:32:12 +02:00
stacktrace.c
suspend.c
swsusp.S s390/hibernate: fix save and restore of vector registers 2015-09-17 13:43:41 +02:00
sys_s390.c
syscalls.S s390: wire up separate socketcalls system calls 2015-09-18 11:16:53 +02:00
sysinfo.c
time.c s390/etr,stp: fix possible deadlock on machine check 2015-10-14 14:32:18 +02:00
topology.c s390/numa: re-add DIE sched_domain_topology_level 2015-08-19 10:03:14 +02:00
trace.c s390/diag: add tracepoint for diagnose calls 2015-10-14 14:32:06 +02:00
traps.c s390/fpu: always enable the vector facility if it is available 2015-10-14 14:32:08 +02:00
uprobes.c
vdso.c s390/vdso: use correct memory barrier 2015-10-14 14:32:01 +02:00
vmlinux.lds.S
vtime.c s390/vtime: correct scaled cputime of partially idle CPUs 2015-09-30 16:22:38 +02:00