From: Al Viro Date: Sun, 20 May 2012 15:59:03 +0000 (-0400) Subject: parisc: decide whether to go to slow path (tracesys) based on thread flags X-Git-Tag: firefly_0821_release~3680^2~1847^2~11 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=64482bd8ef1700e98d96fb6e240c501d68c8371c;p=firefly-linux-kernel-4.4.55.git parisc: decide whether to go to slow path (tracesys) based on thread flags Signed-off-by: Al Viro --- diff --git a/arch/parisc/include/asm/thread_info.h b/arch/parisc/include/asm/thread_info.h index d0e2fe7d54a6..d1fb79a36f3d 100644 --- a/arch/parisc/include/asm/thread_info.h +++ b/arch/parisc/include/asm/thread_info.h @@ -74,6 +74,8 @@ struct thread_info { #define _TIF_USER_WORK_MASK (_TIF_SIGPENDING | _TIF_NOTIFY_RESUME | \ _TIF_NEED_RESCHED) +#define _TIF_SYSCALL_TRACE_MASK (_TIF_SYSCALL_TRACE | _TIF_SINGLESTEP | \ + _TIF_BLOCKSTEP) #define tsk_is_polling(t) test_tsk_thread_flag(t, TIF_POLLING_NRFLAG) diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S index 54a9cbfc08ad..86742df0b194 100644 --- a/arch/parisc/kernel/syscall.S +++ b/arch/parisc/kernel/syscall.S @@ -180,9 +180,10 @@ linux_gateway_entry: /* Are we being ptraced? */ mfctl %cr30, %r1 - LDREG TI_TASK(%r1),%r1 - ldw TASK_PTRACE(%r1), %r1 - bb,<,n %r1,31,.Ltracesys + LDREG TI_FLAGS(%r1),%r1 + ldi _TIF_SYSCALL_TRACE_MASK, %r19 + and,COND(=) %r1, %r19, %r0 + b,n .Ltracesys /* Note! We cannot use the syscall table that is mapped nearby since the gateway page is mapped execute-only. */