From: Will Deacon Date: Fri, 7 Sep 2012 17:20:30 +0000 (+0100) Subject: ARM: 7525/1: ptrace: use updated syscall number for syscall auditing X-Git-Tag: v3.7-rc1~94^2~2^7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ebb5e15c3eb942c047108063423d5d6a04b9f167;p=platform%2Fupstream%2Fkernel-adaptation-pc.git 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 Signed-off-by: Russell King --- diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c index c382d3c..739db3a 100644 --- a/arch/arm/kernel/ptrace.c +++ b/arch/arm/kernel/ptrace.c @@ -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) { - 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)) - trace_sys_enter(regs, ret); + trace_sys_enter(regs, scno); audit_syscall_entry(AUDIT_ARCH_ARM, scno, regs->ARM_r0, regs->ARM_r1, regs->ARM_r2, regs->ARM_r3); - return ret; + return 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)) - trace_sys_exit(regs, ret); + trace_sys_exit(regs, scno); audit_syscall_exit(regs); - return ret; + return scno; }