lkml.org 
[lkml]   [2009]   [Dec]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 05/13] ftrace: Call trace_parser_clear() properly
On Tue, Dec 08, 2009 at 11:15:30AM +0800, Li Zefan wrote:
> I found a weird behavior:
>
> # echo 'fuse:*' > set_ftrace_filter
> bash: echo: write error: Invalid argument
> # cat set_ftrace_filter
> fuse_dev_fasync
> fuse_dev_poll
> fuse_copy_do
>
> We should call trace_parser_clear() no matter ftrace_process_regex()
> returns 0 or -errno.
>
> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
> ---
> kernel/trace/ftrace.c | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> index 08a3fb5..ff8aecd 100644
> --- a/kernel/trace/ftrace.c
> +++ b/kernel/trace/ftrace.c
> @@ -2208,10 +2208,9 @@ ftrace_regex_write(struct file *file, const char __user *ubuf,
> !trace_parser_cont(parser)) {
> ret = ftrace_process_regex(parser->buffer,
> parser->idx, enable);
> + trace_parser_clear(parser);
> if (ret)
> goto out_unlock;
> -
> - trace_parser_clear(parser);
> }


I'm missing something. How that can happen. Anytime we reopen
the file, the parser is re-allocated.

I guess that happens if you open in rw mode? But not using the
example in the changelog?



\
 
 \ /
  Last update: 2009-12-08 10:51    [W:0.119 / U:1.084 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site