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