diff options
Diffstat (limited to 'arch/mips64/kernel')
-rw-r--r-- | arch/mips64/kernel/signal.c | 4 | ||||
-rw-r--r-- | arch/mips64/kernel/signal32.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/arch/mips64/kernel/signal.c b/arch/mips64/kernel/signal.c index e2b83596c..9fad47ffe 100644 --- a/arch/mips64/kernel/signal.c +++ b/arch/mips64/kernel/signal.c @@ -38,6 +38,8 @@ extern asmlinkage int do_signal(sigset_t *oldset, struct pt_regs *regs); extern asmlinkage int save_fp_context(struct sigcontext *sc); extern asmlinkage int restore_fp_context(struct sigcontext *sc); +extern asmlinkage void syscall_trace(void); + static inline int store_fp_context(struct sigcontext *sc) { unsigned int fcr0; @@ -257,6 +259,8 @@ sys_sigreturn(abi64_no_regargs, struct pt_regs regs) /* * Don't let your children do this ... */ + if (current->flags & PF_TRACESYS) + syscall_trace(); __asm__ __volatile__( "move\t$29, %0\n\t" "j\tret_from_sys_call" diff --git a/arch/mips64/kernel/signal32.c b/arch/mips64/kernel/signal32.c index 7d4ce3050..f96676b00 100644 --- a/arch/mips64/kernel/signal32.c +++ b/arch/mips64/kernel/signal32.c @@ -38,6 +38,8 @@ extern asmlinkage int do_signal32(sigset_t *oldset, struct pt_regs *regs); extern asmlinkage int save_fp_context(struct sigcontext *sc); extern asmlinkage int restore_fp_context(struct sigcontext *sc); +extern asmlinkage void syscall_trace(void); + /* 32-bit compatibility types */ #define _NSIG32_BPW 32 @@ -376,6 +378,8 @@ printk("%s called.\n", __FUNCTION__); /* * Don't let your children do this ... */ + if (current->flags & PF_TRACESYS) + syscall_trace(); __asm__ __volatile__( "move\t$29, %0\n\t" "j\tret_from_sys_call" |