diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-05-08 14:17:13 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-05-08 14:17:13 -0700 |
commit | f322e262386d155c4b543f51c9939dca525a2948 (patch) | |
tree | 9b4830ee578bc9058496ec4094392414cd5112f3 /include | |
parent | d86561b4c7473ad43e365afdba2142b75907c9d2 (diff) | |
parent | 8058bd0faad860e75547cc5cb5d4ade016247a79 (diff) | |
download | linux-f322e262386d155c4b543f51c9939dca525a2948.tar.gz linux-f322e262386d155c4b543f51c9939dca525a2948.tar.bz2 linux-f322e262386d155c4b543f51c9939dca525a2948.zip |
Merge tag 'trace-fixes-v3.15-rc4-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
Pull tracing fixes from Steven Rostedt:
"This contains two fixes.
The first is a long standing bug that causes bogus data to show up in
the refcnt field of the module_refcnt tracepoint. It was introduced
by a merge conflict resolution back in 2.6.35-rc days.
The result should be 'refcnt = incs - decs', but instead it did
'refcnt = incs + decs'.
The second fix is to a bug that was introduced in this merge window
that allowed for a tracepoint funcs pointer to be used after it was
freed. Moving the location of where the probes are released solved
the problem"
* tag 'trace-fixes-v3.15-rc4-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
tracepoint: Fix use of tracepoint funcs after rcu free
trace: module: Maintain a valid user count
Diffstat (limited to 'include')
-rw-r--r-- | include/trace/events/module.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/trace/events/module.h b/include/trace/events/module.h index ed0b2c599a64..7c5cbfe3fc49 100644 --- a/include/trace/events/module.h +++ b/include/trace/events/module.h @@ -80,7 +80,7 @@ DECLARE_EVENT_CLASS(module_refcnt, TP_fast_assign( __entry->ip = ip; - __entry->refcnt = __this_cpu_read(mod->refptr->incs) + __this_cpu_read(mod->refptr->decs); + __entry->refcnt = __this_cpu_read(mod->refptr->incs) - __this_cpu_read(mod->refptr->decs); __assign_str(name, mod->name); ), |