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

From: Linus Torvalds
Date: Wed Jun 09 2021 - 18:22:27 EST


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.

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

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

Linus