Messages in this thread | | | Date | Fri, 19 Feb 2021 11:47:44 -0800 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH] kprobes: Fix to delay the kprobes jump optimization |
| |
On Fri, Feb 19, 2021 at 02:36:07PM -0500, Steven Rostedt wrote: > On Thu, 18 Feb 2021 23:29:23 +0900 > Masami Hiramatsu <mhiramat@kernel.org> wrote: > > > Commit 36dadef23fcc ("kprobes: Init kprobes in early_initcall") > > moved the kprobe setup in early_initcall(), which includes kprobe > > jump optimization. > > The kprobes jump optimizer involves synchronize_rcu_tasks() which > > depends on the ksoftirqd and rcu_spawn_tasks_*(). However, since > > those are setup in core_initcall(), kprobes jump optimizer can not > > run at the early_initcall(). > > > > To avoid this issue, make the kprobe optimization disabled in the > > early_initcall() and enables it in subsys_initcall(). > > > > Note that non-optimized kprobes is still available after > > early_initcall(). Only jump optimization is delayed. > > > > Fixes: 36dadef23fcc ("kprobes: Init kprobes in early_initcall") > > Reported-by: Paul E. McKenney <paulmck@kernel.org> > > Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> > > Cc: stable@vger.kernel.org > > --- > > I pulled this into my queue to be tested, and when that completes > (hopefully without failure), I'll add this to my pull request for the > current merge window (which I still need to send).
Thank you, Steve!
Could you please add the following Reported-by tags?
Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Reported-by: Uladzislau Rezki <urezki@gmail.com>
Sebastian first noticed the problem, and Uladzislau figured out how softirqs were involved.
Thanx, Paul
| |