From: Will Deacon Date: Thu, 19 Jul 2012 16:49:22 +0000 (+0100) Subject: ARM: 7475/1: sys_trace: allow all syscall arguments to be updated via ptrace X-Git-Tag: v3.6-rc1~14^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c7aa00db074e4961b49277d7d0fc2f5367d914ca;p=profile%2Fivi%2Fkernel-adaptation-intel-automotive.git ARM: 7475/1: sys_trace: allow all syscall arguments to be updated via ptrace Prior to syscall invocation, __sys_trace only reloads r0-r3 from the kernel stack, preventing the debugger from updating arguments 5-7 when signalled via ptrace. This patch updates the code to reload r0-r6, updating arguments 5 and 6 on the stack (argument 7 is only used by OABI indirect syscalls and can remain in a register). Reported-by: Al Viro Signed-off-by: Will Deacon Signed-off-by: Russell King --- diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S index 2909bbca..978eac5 100644 --- a/arch/arm/kernel/entry-common.S +++ b/arch/arm/kernel/entry-common.S @@ -443,7 +443,8 @@ __sys_trace: mov scno, r0 @ syscall number (possibly new) add r1, sp, #S_R0 + S_OFF @ pointer to regs cmp scno, #NR_syscalls @ check upper syscall limit - ldmccia r1, {r0 - r3} @ have to reload r0 - r3 + ldmccia r1, {r0 - r6} @ have to reload r0 - r6 + stmccia sp, {r4, r5} @ and update the stack args ldrcc pc, [tbl, scno, lsl #2] @ call sys_* routine b 2b