summaryrefslogtreecommitdiffstats
path: root/arch/mips64/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips64/kernel')
-rw-r--r--arch/mips64/kernel/signal.c4
-rw-r--r--arch/mips64/kernel/signal32.c4
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"