Re: [PATCH 1/2] tracing: Simplify the max length test when using the filtering temp buffer

From: Steven Rostedt
Date: Wed Jun 09 2021 - 18:37:00 EST


On Wed, 9 Jun 2021 15:21:52 -0700
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Wed, Jun 9, 2021 at 3:05 PM Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> >
> > val = this_cpu_inc_return(trace_buffered_event_cnt);
> > - if ((len < (PAGE_SIZE - sizeof(*entry) - sizeof(entry->array[0]))) && val == 1) {
> > + if (val == 1 && unlikely(len < max_len)) {
>
> unlikely? No.

Bah, that was suppose to be "likely()" :-p

>
> Also, I still think that "len < max_len" should actually be "len <=
> max_len". It should be ok to use the whole page, no?

Sure, I was still being paranoid. ;-)

>
> Unless there is some *other* overflow issue, and "len" doesn't contain
> a terminating NUL character or something like that.
>

No, this is kind of like an internal "malloc", where the caller is
passing in the length via "len" of what it needs.

-- Steve