[PATCH 100-103] ptrace_resume cleanup/simplification

Oleg Nesterov oleg at redhat.com
Sun Oct 18 18:13:59 UTC 2009


Cleanups.

Tomorrow: PTRACE_SYSEMU/PTRACE_SYSEMU_SINGLESTEP

> The semantics is that the entry report always does like
> UTRACE_SYSCALL_ABORT to skip the actual call, and then
> there is no exit report.

Thanks! this is easy.

What about PTRACE_SYSEMU_SINGLESTEP ? I will read the code
tomorrow, but it is easy to miss some detail and we don't
have any test-cases.

Looks like, PTRACE_SYSEMU_SINGLESTEP is PTRACE_SINGLESTEP
plus: if we enter syscall we should

	- return UTRACE_SYSCALL_ABORT

	- avoid SYSCALL_EXIT report like PTRACE_SYSEMU

	- avoid the unnecessary send_sigtrap() in syscall_trace_leave()
	  somehow, but the exact semantics is not clear to me...

	  since utrace doesn't actually stops in tracehook_report_syscall_exit(),
	  we shouldn't worry? Hmm, except the tracee stops in SYSCALL_ENTRY,
	  I guess...

Could you clarify?

In particular. The tracee stops in SYSCALL_ENTRY, the tracer
does PTRACE_SYSEMU_SINGLESTEP. We should just do enable_step()
and clear UTRACE_EVENT(SYSCALL_EXIT), correct?

Oleg.




More information about the utrace-devel mailing list