rk: revert to v3.10
[firefly-linux-kernel-4.4.55.git] / arch / arm / kernel / ptrace.c
index 394424b2525422bc83fd295a8eccb69c2fa199bf..03deeffd9f6d06e6ff380126592e10dbf7bf1a25 100644 (file)
@@ -916,7 +916,7 @@ enum ptrace_syscall_dir {
        PTRACE_SYSCALL_EXIT,
 };
 
-static void tracehook_report_syscall(struct pt_regs *regs,
+static int tracehook_report_syscall(struct pt_regs *regs,
                                    enum ptrace_syscall_dir dir)
 {
        unsigned long ip;
@@ -934,6 +934,7 @@ static void tracehook_report_syscall(struct pt_regs *regs,
                current_thread_info()->syscall = -1;
 
        regs->ARM_ip = ip;
+       return current_thread_info()->syscall;
 }
 
 asmlinkage int syscall_trace_enter(struct pt_regs *regs, int scno)
@@ -945,9 +946,7 @@ asmlinkage int syscall_trace_enter(struct pt_regs *regs, int scno)
                return -1;
 
        if (test_thread_flag(TIF_SYSCALL_TRACE))
-               tracehook_report_syscall(regs, PTRACE_SYSCALL_ENTER);
-
-       scno = current_thread_info()->syscall;
+               scno = tracehook_report_syscall(regs, PTRACE_SYSCALL_ENTER);
 
        if (test_thread_flag(TIF_SYSCALL_TRACEPOINT))
                trace_sys_enter(regs, scno);