Re: [PATCH v4 20/23] [RFC] kprobes: Remove task scan for updating kretprobe_instance

From: Masami Hiramatsu
Date: Fri Aug 28 2020 - 12:01:46 EST


On Fri, 28 Aug 2020 17:18:06 +0200
peterz@xxxxxxxxxxxxx wrote:

> On Sat, Aug 29, 2020 at 12:10:10AM +0900, Masami Hiramatsu wrote:
> > On Fri, 28 Aug 2020 14:52:36 +0200
> > peterz@xxxxxxxxxxxxx wrote:
>
> > > > synchronize_rcu();
> > >
> > > This one might help, this means we can do rcu_read_lock() around
> > > get_kretprobe() and it's usage. Can we call rp->handler() under RCU?
> >
> > Yes, as I said above, the get_kretprobe() (and kretprobe handler) must be
> > called under preempt-disabled.
>
> Then we don't need the ordering; we'll need READ_ONCE() (or
> rcu_derefernce()) to make sure the address dependency works on Alpha.
> And a comment/assertion that explains this might not go amiss in
> get_kretprobe().


OK, I'll rewrite it with READ_ONCE() and rcu_read_lock_any_held().

Thank you,

--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>