Re: Process-wide watchpoints

From: Peter Zijlstra
Date: Thu Feb 04 2021 - 08:11:32 EST


On Thu, Feb 04, 2021 at 01:53:59PM +0100, Dmitry Vyukov wrote:
> Humm... I was thinking of perf_event_open(pid == 0).
> It does not make sense to send SIGTRAP in a remote process, because it
> does not necessarily cooperate with us.
>
> But is there any problem with clone w/o CLONE_THREAD? Assuming the
> current process has setup the signal handler, the child will have the
> same handler and the same code/address space. So delivery of SIGTRAP
> should work the same way in the child.

Nothing should be doing CLONE_VM without CLONE_THREAD. Yes, it's
possible, but if you do so, you get to keep the pieces IMO.

Current libc either does a full clone (fork) or pthread_create,
pthread_create does CLONE_THREAD.