From: Al Viro Date: Tue, 12 Oct 2010 03:13:51 +0000 (-0400) Subject: m68k: Missing syscall_trace() on sigreturn X-Git-Tag: v3.12-rc1~7800^2~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bd6f56a75bb2a65b3a1b8d14a9787fdaadae71c1;p=kernel%2Fkernel-generic.git m68k: Missing syscall_trace() on sigreturn If we leave sigreturn via ret_from_signal, we end up with syscall trace only on entry, leading to very unhappy strace, among other things. Note that this means different behaviours for signals delivered while we were in pagefault and for ones delivered while we were in interrupt... Signed-off-by: Al Viro Signed-off-by: Geert Uytterhoeven --- diff --git a/arch/m68k/kernel/entry.S b/arch/m68k/kernel/entry.S index 4e49f57..1559dea 100644 --- a/arch/m68k/kernel/entry.S +++ b/arch/m68k/kernel/entry.S @@ -99,7 +99,10 @@ do_trace_exit: jra .Lret_from_exception ENTRY(ret_from_signal) - RESTORE_SWITCH_STACK + tstb %curptr@(TASK_INFO+TINFO_FLAGS+2) + jge 1f + jbsr syscall_trace +1: RESTORE_SWITCH_STACK addql #4,%sp /* on 68040 complete pending writebacks if any */ #ifdef CONFIG_M68040