diff options
author | Steven Rostedt <srostedt@redhat.com> | 2011-07-05 14:32:51 -0400 |
---|---|---|
committer | Jonas ABERG <jonas.aberg@stericsson.com> | 2011-10-28 11:11:55 +0200 |
commit | f49deea54a64ad17342e3fa1e2405c1184e25ce2 (patch) | |
tree | f8b3cc87b36a9b8d613605ba6965d669600c3d71 /include/trace | |
parent | e6c7ca6fa310b5aece6b52af8de3f3af09ba276a (diff) |
tracing: Have "enable" file use refcounts like the "filter" file
commit 40ee4dffff061399eb9358e0c8fcfbaf8de4c8fe upstream.
The "enable" file for the event system can be removed when a module
is unloaded and the event system only has events from that module.
As the event system nr_events count goes to zero, it may be freed
if its ref_count is also set to zero.
Like the "filter" file, the "enable" file may be opened by a task and
referenced later, after a module has been unloaded and the events for
that event system have been removed.
Although the "filter" file referenced the event system structure,
the "enable" file only references a pointer to the event system
name. Since the name is freed when the event system is removed,
it is possible that an access to the "enable" file may reference
a freed pointer.
Update the "enable" file to use the subsystem_open() routine that
the "filter" file uses, to keep a reference to the event system
structure while the "enable" file is opened.
Reported-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Change-Id: I46951b3d423d7eee29dfee3abde606cb9c90520b
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/35639
Tested-by: Per VAHLNE <per.xx.vahlne@stericsson.com>
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
Diffstat (limited to 'include/trace')
0 files changed, 0 insertions, 0 deletions