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

From: peterz
Date: Fri Aug 28 2020 - 11:18:57 EST


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().