• Steven Rostedt's avatar
    tracing: Have "enable" file use refcounts like the "filter" file · 40ee4dff
    Steven Rostedt authored
    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.
    
    Cc: <stable@kernel.org>
    Reported-by: default avatarJohannes Berg <johannes.berg@intel.com>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    40ee4dff
trace_events.c 37.2 KB