[PATCH v2] ARM: support syscall tracing

Will Deacon will.deacon at arm.com
Wed Aug 15 13:27:31 EDT 2012

On Wed, Aug 15, 2012 at 05:58:44PM +0100, Wade Farnsworth wrote:
> We need to set current_thread_info()->syscall, since it's used in the 
> call to syscall_get_nr() in perf_syscall_{enter,exit}.

Damn. I think that also means we have a bug, given that the SYSCALL_TRACE
code can set this to -1, which gets used as an index into a bitmap by the
looks of it. Considering that we have to pass the syscall number to
trace_sys_enter anyway, it also seems broken.

> What about moving the setting of ->syscall to 
> syscall_trace_{enter,exit}?  That would preserve ptrace_syscall_trace() 
> for the TIF_SYSCALL_TRACE case only, but ensure that the field is set 
> the TRACEPOINT case as well.  Thoughts?

I'd be tempted to set the thing unconditionally before checking the thread
flag at the top of ptrace_syscall_trace. This hangs off the slowpath anyway
and it makes everything a lot more readable.


More information about the linux-arm-kernel mailing list