mirror of https://gitee.com/openkylin/linux.git
ftrace: Only update the function code on write to filter files
If function tracing is enabled, a read of the filter files will cause the call to stop_machine to update the function trace sites. It should only call stop_machine on write. Cc: stable@kernel.org Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
parent
2bce5daca2
commit
058e297d34
|
@ -2413,14 +2413,16 @@ ftrace_regex_release(struct inode *inode, struct file *file, int enable)
|
||||||
ftrace_match_records(parser->buffer, parser->idx, enable);
|
ftrace_match_records(parser->buffer, parser->idx, enable);
|
||||||
}
|
}
|
||||||
|
|
||||||
mutex_lock(&ftrace_lock);
|
|
||||||
if (ftrace_start_up && ftrace_enabled)
|
|
||||||
ftrace_run_update_code(FTRACE_ENABLE_CALLS);
|
|
||||||
mutex_unlock(&ftrace_lock);
|
|
||||||
|
|
||||||
trace_parser_put(parser);
|
trace_parser_put(parser);
|
||||||
kfree(iter);
|
kfree(iter);
|
||||||
|
|
||||||
|
if (file->f_mode & FMODE_WRITE) {
|
||||||
|
mutex_lock(&ftrace_lock);
|
||||||
|
if (ftrace_start_up && ftrace_enabled)
|
||||||
|
ftrace_run_update_code(FTRACE_ENABLE_CALLS);
|
||||||
|
mutex_unlock(&ftrace_lock);
|
||||||
|
}
|
||||||
|
|
||||||
mutex_unlock(&ftrace_regex_lock);
|
mutex_unlock(&ftrace_regex_lock);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue