> ptrace_report_clone() still needs more changes. I think it is simple to > fix it now, but can't we simplify the utrace's behaviour first? > > utrace_report_clone() does not set utrace->vfork_stop without CLONE_VFORK, > this adds some complications. Perhaps we can kill CLONE_VFORK check?
Please explain exactly what difference you want to see in the utrace API. Just talking about implementation details is confusing. The API today is that UTRACE_STOP from report_clone always guarantees a prompt stop. For CLONE_VFORK, that means it has to stop before the vfork-wait, so before syscall-exit. Without CLONE_VFORK, the usual rule applies: nothing user-visible happens until returning to user mode, so there is no stop. Well, the one user-visible thing that happens is the return value register getting set (right before the syscall-exit event). Thanks, Roland