ARM: 7525/1: ptrace: use updated syscall number for syscall auditing
When tracing system calls, a debugger may change the syscall number in response to a SIGTRAP on syscall entry. This patch ensures that the new syscall number is passed to the audit code. Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
1f66e06fb6
commit
ebb5e15c3e
1 changed files with 6 additions and 6 deletions
|
@ -944,19 +944,19 @@ static int ptrace_syscall_trace(struct pt_regs *regs, int scno,
|
||||||
|
|
||||||
asmlinkage int syscall_trace_enter(struct pt_regs *regs, int scno)
|
asmlinkage int syscall_trace_enter(struct pt_regs *regs, int scno)
|
||||||
{
|
{
|
||||||
int ret = ptrace_syscall_trace(regs, scno, PTRACE_SYSCALL_ENTER);
|
scno = ptrace_syscall_trace(regs, scno, PTRACE_SYSCALL_ENTER);
|
||||||
if (test_thread_flag(TIF_SYSCALL_TRACEPOINT))
|
if (test_thread_flag(TIF_SYSCALL_TRACEPOINT))
|
||||||
trace_sys_enter(regs, ret);
|
trace_sys_enter(regs, scno);
|
||||||
audit_syscall_entry(AUDIT_ARCH_ARM, scno, regs->ARM_r0, regs->ARM_r1,
|
audit_syscall_entry(AUDIT_ARCH_ARM, scno, regs->ARM_r0, regs->ARM_r1,
|
||||||
regs->ARM_r2, regs->ARM_r3);
|
regs->ARM_r2, regs->ARM_r3);
|
||||||
return ret;
|
return scno;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage int syscall_trace_exit(struct pt_regs *regs, int scno)
|
asmlinkage int syscall_trace_exit(struct pt_regs *regs, int scno)
|
||||||
{
|
{
|
||||||
int ret = ptrace_syscall_trace(regs, scno, PTRACE_SYSCALL_EXIT);
|
scno = ptrace_syscall_trace(regs, scno, PTRACE_SYSCALL_EXIT);
|
||||||
if (test_thread_flag(TIF_SYSCALL_TRACEPOINT))
|
if (test_thread_flag(TIF_SYSCALL_TRACEPOINT))
|
||||||
trace_sys_exit(regs, ret);
|
trace_sys_exit(regs, scno);
|
||||||
audit_syscall_exit(regs);
|
audit_syscall_exit(regs);
|
||||||
return ret;
|
return scno;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue