From: Heiko Carstens x86_64-mm-stacktrace-cleanup.patch reverses the logic in s390's save_stack_trace incorrectly. Fix this. Cc: Andi Kleen Cc: Martin Schwidefsky Signed-off-by: Andrew Morton --- arch/s390/kernel/stacktrace.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff -puN arch/s390/kernel/stacktrace.c~fix-x86_64-mm-stacktrace-cleanup-s390 arch/s390/kernel/stacktrace.c --- a/arch/s390/kernel/stacktrace.c~fix-x86_64-mm-stacktrace-cleanup-s390 +++ a/arch/s390/kernel/stacktrace.c @@ -70,12 +70,12 @@ void save_stack_trace(struct stack_trace sp = save_context_stack(trace, &trace->skip, sp, S390_lowcore.panic_stack - PAGE_SIZE, S390_lowcore.panic_stack); - if ((sp != orig_sp) && trace->all_contexts) + if ((sp != orig_sp) && !trace->all_contexts) return; sp = save_context_stack(trace, &trace->skip, sp, S390_lowcore.async_stack - ASYNC_SIZE, S390_lowcore.async_stack); - if ((sp != orig_sp) && trace->all_contexts) + if ((sp != orig_sp) && !trace->all_contexts) return; if (task) save_context_stack(trace, &trace->skip, sp, @@ -85,5 +85,4 @@ void save_stack_trace(struct stack_trace save_context_stack(trace, &trace->skip, sp, S390_lowcore.thread_info, S390_lowcore.thread_info + THREAD_SIZE); - return; } _