aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/srcu.c
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2013-07-26 19:25:40 +0200
committerSteven Rostedt <rostedt@goodmis.org>2013-07-29 22:56:59 -0400
commite2912b091c26b8ea95e5e00a43a7ac620f6c94a6 (patch)
tree841eb09f7732ba1d1eb58405743bb61c8a88b2fe /kernel/srcu.c
parenttracing: Change event_enable/disable_read() to verify i_private != NULL (diff)
downloadlinux-dev-e2912b091c26b8ea95e5e00a43a7ac620f6c94a6.tar.xz
linux-dev-e2912b091c26b8ea95e5e00a43a7ac620f6c94a6.zip
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 'kernel/srcu.c')
0 files changed, 0 insertions, 0 deletions