summaryrefslogtreecommitdiffstats
path: root/include/trace
diff options
context:
space:
mode:
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>2014-05-08 07:47:49 -0400
committerSteven Rostedt <rostedt@goodmis.org>2014-05-08 09:10:56 -0400
commit8058bd0faad860e75547cc5cb5d4ade016247a79 (patch)
tree71172e9ae00c358e23e93c451f0b7dc45d98f436 /include/trace
parent098507ae3ec2331476fb52e85d4040c1cc6d0ef4 (diff)
downloadtalos-op-linux-8058bd0faad860e75547cc5cb5d4ade016247a79.tar.gz
talos-op-linux-8058bd0faad860e75547cc5cb5d4ade016247a79.zip
tracepoint: Fix use of tracepoint funcs after rcu free
Commit de7b2973903c "tracepoint: Use struct pointer instead of name hash for reg/unreg tracepoints" introduces a use after free by calling release_probes on the old struct tracepoint array before the newly allocated array is published with rcu_assign_pointer. There is a race window where tracepoints (RCU readers) can perform a "use-after-grace-period-after-free", which shows up as a GPF in stress-tests. Link: http://lkml.kernel.org/r/53698021.5020108@oracle.com Link: http://lkml.kernel.org/p/1399549669-25465-1-git-send-email-mathieu.desnoyers@efficios.com Reported-by: Sasha Levin <sasha.levin@oracle.com> CC: Oleg Nesterov <oleg@redhat.com> CC: Dave Jones <davej@redhat.com> Fixes: de7b2973903c "tracepoint: Use struct pointer instead of name hash for reg/unreg tracepoints" Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'include/trace')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud