Currently the syscall number is passed, but it should be the return value, which is kept in r0.
Signed-off-by: Simon Marchi <[email protected]> --- This patch applies on Chris Metcalf's tree: http://git.kernel.org/cgit/linux/kernel/git/cmetcalf/linux-tile.git arch/tile/include/uapi/arch/abi.h | 2 ++ arch/tile/kernel/ptrace.c | 2 +- 2 files changed, 3 insertions(+), 1 deletions(-) diff --git a/arch/tile/include/uapi/arch/abi.h b/arch/tile/include/uapi/arch/abi.h index c55a3d4..400401b 100644 --- a/arch/tile/include/uapi/arch/abi.h +++ b/arch/tile/include/uapi/arch/abi.h @@ -119,6 +119,8 @@ typedef __int_reg_t int_reg_t; /** Name of register that holds the syscall number, for use in assembly. */ #define TREG_SYSCALL_NR_NAME r10 +/** Register that holds the return value for system calls. */ +#define TREG_SYSCALL_RET_NR 0 /** * The ABI requires callers to allocate a caller state save area of diff --git a/arch/tile/kernel/ptrace.c b/arch/tile/kernel/ptrace.c index 363b2dd..91fd3af 100644 --- a/arch/tile/kernel/ptrace.c +++ b/arch/tile/kernel/ptrace.c @@ -269,7 +269,7 @@ void do_syscall_trace_exit(struct pt_regs *regs) tracehook_report_syscall_exit(regs, 0); if (test_thread_flag(TIF_SYSCALL_TRACEPOINT)) - trace_sys_exit(regs, regs->regs[TREG_SYSCALL_NR]); + trace_sys_exit(regs, regs->regs[TREG_SYSCALL_RET_NR]); } void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs, int error_code) -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

