• Steven Rostedt (Red Hat)'s avatar
    tracing: Fix free of probe entry by calling call_rcu_sched() · 740466bc
    Steven Rostedt (Red Hat) authored
    Because function tracing is very invasive, and can even trace
    calls to rcu_read_lock(), RCU access in function tracing is done
    with preempt_disable_notrace(). This requires a synchronize_sched()
    for updates and not a synchronize_rcu().
    
    Function probes (traceon, traceoff, etc) must be freed after
    a synchronize_sched() after its entry has been removed from the
    hash. But call_rcu() is used. Fix this by using call_rcu_sched().
    
    Also fix the usage to use hlist_del_rcu() instead of hlist_del().
    
    Cc: stable@vger.kernel.org
    Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    740466bc
ftrace.c 107 KB