Re: [RFC 0/6] uprobes: kill uprobes_srcu/uprobe_srcu_id

From: Srikar Dronamraju
Date: Mon Apr 23 2012 - 03:33:50 EST


* Peter Zijlstra <peterz@xxxxxxxxxxxxx> [2012-04-23 09:14:00]:

> On Fri, 2012-04-20 at 20:37 +0200, Oleg Nesterov wrote:
> > Say, a user wants to probe /sbin/init only. What if init forks?
> > We should remove breakpoints from child->mm somehow.
>
> How is that hard? dup_mmap() only copies the VMAs, this doesn't actually
> copy the breakpoint. So the child doesn't have a breakpoint to be
> removed.
>

Because the pages are COWED, the breakpoint gets copied over to the
child. If we dont want the breakpoints to be not visible to the child,
then we would have to remove them explicitly based on the filter (i.e if
and if we had inserted breakpoints conditionally based on filter).

Once we add the conditional breakpoint insertion (which is tricky), we have
to support conditional breakpoint removal in the dup_mmap() thro the
uprobe_mmap hook (which I think is not that hard). Conditional removal
of breakpoints in fork path would just be an extension of the
conditional breakpoint insertion.

--
Thanks and Regards
Srikar

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/