diff options
author | Jonas Bonn <jonas@southpole.se> | 2012-02-15 15:02:20 +0100 |
---|---|---|
committer | Jonas Bonn <jonas@southpole.se> | 2012-02-17 09:53:12 +0100 |
commit | 3f6ffc8c2087791920721f086f9a92fde7bed9e2 (patch) | |
tree | ac9fdb4e433d456304c110d01d0d4c7b5cdce026 /arch/openrisc | |
parent | abdf8b5e07884a183938969253770164d60b87cb (diff) |
openrisc: Fix up audit_syscall_[entry|exit]() usage
Commits d7e7528bcd456f5c36ad4a202ccfb43c5aa98bc4 and
b05d8447e7821695bc2fa3359431f7a664232743 simplified the usage of the
audit_syscall_[entry|exit] functions. Unfortunately, the OpenRISC
architecture didn't get fixed up along with the other architectures when
those patches were pushed. This makes the relevant changes to this
architecture.
Signed-off-by: Jonas Bonn <jonas@southpole.se>
Diffstat (limited to 'arch/openrisc')
-rw-r--r-- | arch/openrisc/include/asm/ptrace.h | 8 | ||||
-rw-r--r-- | arch/openrisc/kernel/ptrace.c | 12 |
2 files changed, 11 insertions, 9 deletions
diff --git a/arch/openrisc/include/asm/ptrace.h b/arch/openrisc/include/asm/ptrace.h index 054537c5f9c..e612ce4512c 100644 --- a/arch/openrisc/include/asm/ptrace.h +++ b/arch/openrisc/include/asm/ptrace.h @@ -77,7 +77,6 @@ struct pt_regs { long syscallno; /* Syscall number (used by strace) */ long dummy; /* Cheap alignment fix */ }; -#endif /* __ASSEMBLY__ */ /* TODO: Rename this to REDZONE because that's what it is */ #define STACK_FRAME_OVERHEAD 128 /* size of minimum stack frame */ @@ -87,6 +86,13 @@ struct pt_regs { #define user_stack_pointer(regs) ((unsigned long)(regs)->sp) #define profile_pc(regs) instruction_pointer(regs) +static inline long regs_return_value(struct pt_regs *regs) +{ + return regs->gpr[11]; +} + +#endif /* __ASSEMBLY__ */ + /* * Offsets used by 'ptrace' system call interface. */ diff --git a/arch/openrisc/kernel/ptrace.c b/arch/openrisc/kernel/ptrace.c index 656b94beab8..7259047d5f9 100644 --- a/arch/openrisc/kernel/ptrace.c +++ b/arch/openrisc/kernel/ptrace.c @@ -188,11 +188,9 @@ asmlinkage long do_syscall_trace_enter(struct pt_regs *regs) */ ret = -1L; - /* Are these regs right??? */ - if (unlikely(current->audit_context)) - audit_syscall_entry(audit_arch(), regs->syscallno, - regs->gpr[3], regs->gpr[4], - regs->gpr[5], regs->gpr[6]); + audit_syscall_entry(audit_arch(), regs->syscallno, + regs->gpr[3], regs->gpr[4], + regs->gpr[5], regs->gpr[6]); return ret ? : regs->syscallno; } @@ -201,9 +199,7 @@ asmlinkage void do_syscall_trace_leave(struct pt_regs *regs) { int step; - if (unlikely(current->audit_context)) - audit_syscall_exit(AUDITSC_RESULT(regs->gpr[11]), - regs->gpr[11]); + audit_syscall_exit(regs); step = test_thread_flag(TIF_SINGLESTEP); if (step || test_thread_flag(TIF_SYSCALL_TRACE)) |