diff options
author | Oleg Nesterov <oleg@redhat.com> | 2013-07-26 17:25:40 (GMT) |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2013-07-30 02:56:59 (GMT) |
commit | e2912b091c26b8ea95e5e00a43a7ac620f6c94a6 (patch) | |
tree | 841eb09f7732ba1d1eb58405743bb61c8a88b2fe /net/core/ethtool.c | |
parent | bc6f6b08dee5645770efb4b76186ded313f23752 (diff) | |
download | linux-e2912b091c26b8ea95e5e00a43a7ac620f6c94a6.tar.xz |
tracing: Change event_filter_read/write to verify i_private != NULL
event_filter_read/write() are racy, ftrace_event_call can be already
freed by trace_remove_event_call() callers.
1. Shift mutex_lock(event_mutex) from print/apply_event_filter to
the callers.
2. Change the callers, event_filter_read() and event_filter_write()
to read i_private under this mutex and abort if it is NULL.
This fixes nothing, but now we can change debugfs_remove("filter")
callers to nullify ->i_private and fix the the problem.
Link: http://lkml.kernel.org/r/20130726172540.GA3619@redhat.com
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'net/core/ethtool.c')
0 files changed, 0 insertions, 0 deletions