tracing/events: make modules have their own file_operations structure
authorSteven Rostedt <srostedt@redhat.com>
Sat, 25 Apr 2009 03:11:22 +0000 (23:11 -0400)
committerIngo Molnar <mingo@elte.hu>
Sun, 26 Apr 2009 11:07:00 +0000 (13:07 +0200)
commit701970b3a83cc639c1ec8fc6f40a7871cb99426f
treec17cee9da25eaecee7a7e615eaa932becec663a4
parent060fa5c83e67901ba47ab484cfcdb32737d630ba
tracing/events: make modules have their own file_operations structure

For proper module reference counting, the file_operations that modules use
must have the "owner" field set to the module. Unfortunately, the trace events
use share file_operations. The same file_operations are used by all both
kernel core and all modules.

This patch makes the modules allocate their own file_operations and
copies the functions from the core kernel. This allows those file
operations to be owned by the module.

Care is taken to free this code on module unload.

Thanks to Greg KH for reminding me that file_operations must be owned
by the module to have reference counting take place.

[ Impact: fix modular tracepoints / potential crash ]

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
kernel/trace/trace_events.c