Re: [PATCH] tracing: fix va_list breakage in trace_check_vprintf()

From: Steven Rostedt
Date: Thu Nov 18 2021 - 09:30:50 EST


On Thu, 18 Nov 2021 07:57:33 +0300
Nikita Yushchenko <nikita.yushchenko@xxxxxxxxxxxxx> wrote:

> What I don't like here is - trace_check_vprintf() will still extract wrong positional arguments, and use
> the result as part of it's logic.
>
> Although with your change such use becomes a no-op, this is unintuitive and can turn easily into real
> problems with future changes.

That trace_check_vprintf() is just full of unintuitive logic ;-)

Which is why I prefer to keep any remnants of that code in that code and
not spread it around.

>
> And, the above comment is inexact... why we can't test? We can, testing code does no depend on
> iter->seq. What we can't is - reliably extract str to test.
>
> If testing seq->full condition is preferred over forcibly consuming args from va_list, then such a test
> shall be done before trace_check_vprintf() tries to use va_arg(). Will submit a patch doing that.

I'm happy with that patch, but can you please resend it as a top level
patch and not a reply, otherwise my patchwork doesn't catch it and my
scripts will not work on it.

Thanks,

-- Steve