ptrace_disable() is called when the tracee is quiescent and we
are going to untrace. This means we are going to clear ->ptrace
and wake up the tracee. Now that ptrace_stop() checks PT_ bits
and does user_disable_single_step() we can remove this code from
ptrace_disable(), it is unneeded and not utr
4d16a64 "introduce PT_SYSCALL_TRACE flag" breaks PTRACE_SYSEMU
which doesn't set PT_SYSCALL_TRACE.
Change ptrace_report_syscall() to check TIF_SYSCALL_EMU as well.
This can't conflict with utrace, this flag can only be set by
ptrace.
Signed-off-by: Oleg Nesterov
---
include/linux/tracehook.h |
On 07/01, Oleg Nesterov wrote:
>
> - Perhaps PTRACE_SYSEMU/TIF_SYSCALL_EMU logic was broken,
> I need to recheck.
Yes, it was. Fixed by 2/2.
"ptrace: shift user_*_step() from ptrace_resume() to ptrace_stop()"
forgot to change ptrace_disable(), see 1/2.
Oleg.