lkml.org 
[lkml]   [2021]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Process-wide watchpoints
On Thu, Feb 04, 2021 at 02:35:36PM +0100, Dmitry Vyukov wrote:
> On Thu, Feb 4, 2021 at 2:10 PM Peter Zijlstra <peterz@infradead.org> wrote:
> >
> > 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.
>
> I meant a different thing.
> I meant that we could restrict synchronous SIGTRAP for (1)
> perf_event_open(pid != 0) and (2) disable it after exec.

Ah, I figured a generic means to inherit across a process, but not a
process tree might be useful.

I don't much like magical/implied constraints.

> What is the issue here for clone without CLONE_THREAD?

It's an abomination that's possible and an endless cause of trouble :/

\
 
 \ /
  Last update: 2021-02-04 14:49    [W:0.107 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site