tracing: Fix regression of trace_options file setting
authorSteven Rostedt <srostedt@redhat.com>
Thu, 10 Jan 2013 01:54:17 +0000 (20:54 -0500)
committerSteven Rostedt <rostedt@goodmis.org>
Thu, 10 Jan 2013 01:54:17 +0000 (20:54 -0500)
The latest change to allow trace options to be set on the command
line also broke the trace_options file.

The zeroing of the last byte of the option name that is echoed into
the trace_option file was removed with the consolidation of some
of the code. The compare between the option and what was written to
the trace_options file fails because the string holding the data
written doesn't terminate with a null character.

A zero needs to be added to the end of the string copied from
user space.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/trace.c

index e5125677efa007a8ff58d5cd14b70766117dbc92..1bbfa0446507405d2fce92036322224170d7411e 100644 (file)
@@ -2899,6 +2899,8 @@ tracing_trace_options_write(struct file *filp, const char __user *ubuf,
        if (copy_from_user(&buf, ubuf, cnt))
                return -EFAULT;
 
+       buf[cnt] = 0;
+
        trace_set_options(buf);
 
        *ppos += cnt;