On Thu, 6 Dec 2018 12:47:19 -0500 Steven Rostedt <[email protected]> wrote:
> > Uprobes: Fix kernel oops with delayed_uprobe_remove() > > There could be a race between task exit and probe unregister: > > exit_mm() > mmput() > __mmput() uprobe_unregister() > uprobe_clear_state() put_uprobe() > delayed_uprobe_remove() delayed_uprobe_remove() > > put_uprobe() is calling delayed_uprobe_remove() without taking > delayed_uprobe_lock and thus the race sometimes results in a > kernel crash. Fix this by taking delayed_uprobe_lock before > calling delayed_uprobe_remove() from put_uprobe(). > > Detailed crash log can be found at: > Link: http://lkml.kernel.org/r/[email protected] > > Link: > http://lkml.kernel.org/r/[email protected] > > Acked-by: Oleg Nesterov <[email protected]> > Reviewed-by: Srikar Dronamraju <[email protected]> > Reported-by: [email protected] > Fixes: 1cc33161a83d ("uprobes: Support SDT markers having reference count > (semaphore)") > Signed-off-by: Ravi Bangoria <[email protected]> > Signed-off-by: Steven Rostedt (VMware) <[email protected]> > No cc:stable?

