Re: [PATCH 1/1] ftrace: fix wrong pos computing when read bufferhas been fulfilled.

From: Ingo Molnar
Date: Tue Nov 18 2008 - 10:53:15 EST



* Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

>
> On Tue, 18 Nov 2008, walimis wrote:
> > On Tue, Nov 18, 2008 at 09:36:07AM -0500, Steven Rostedt wrote:
> > >>
> > >> fix:
> > >>
> > >> Through checking return value of seq_printf, if less than 0, we know
> > >> this function doesn't be printed. Then we decrease position to force
> > >> this function to be printed next time, in next read buffer.
> > >
> > >A lot of the code for seq files I cut and paste from other places that I
> > >have written it. The seq files always confuse me, so I like to use stuff
> > >that worked before. Some of the things that walimis fixed were not needed
> > >for this file, and was overkill.
>
> > It also confuse me a lot. I also checked all places using seq files in
> > trace/ftrace code, to see whether there are similar problem.
> > - trace.c: in s_start() it force pos to decrease one such as:
> > l = *pos - 1;
> > so it works well.
> > - trace_stack.c: t_start, in almost all cases, can be only called
> > once, so we don't see the error. But I wonder whether it still works
> > well if output message exceeds the size of seq file buffer and call
> > t_start twice. If needed, I can test it.
> > - trace_branch.c : the same with above.
> >
>
> If you can find a bug, then by all means, fix it ;-)

also, if you can think of a way to structure the code in a cleaner way
to make such mistakes less likely to occur, feel free to change that
too.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/