Commit c757bea9 authored by Steven Rostedt's avatar Steven Rostedt Committed by Steven Rostedt

tracing: Fix setting tracer specific options

The function __set_tracer_option() takes as its last parameter a
"neg" value. If set it should negate the value of the option.

The trace_options_write() passed the value written to the file
which is what the new value needs to be set as. But since this
is not the negative, it never sets the value.
Reported-by: default avatarPeter Zijlstra <peterz@infradead.org>
Cc: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
parent 7e25f44c
...@@ -3949,7 +3949,7 @@ trace_options_write(struct file *filp, const char __user *ubuf, size_t cnt, ...@@ -3949,7 +3949,7 @@ trace_options_write(struct file *filp, const char __user *ubuf, size_t cnt,
if (!!(topt->flags->val & topt->opt->bit) != val) { if (!!(topt->flags->val & topt->opt->bit) != val) {
mutex_lock(&trace_types_lock); mutex_lock(&trace_types_lock);
ret = __set_tracer_option(current_trace, topt->flags, ret = __set_tracer_option(current_trace, topt->flags,
topt->opt, val); topt->opt, !val);
mutex_unlock(&trace_types_lock); mutex_unlock(&trace_types_lock);
if (ret) if (ret)
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment