Re: [PATCH] rcu: Fix rcu_torture_read ftrace event

From: Steven Rostedt
Date: Mon Mar 20 2023 - 11:27:52 EST



[ Wondering why this didn't get picked up in v6.3-rc3, I see that the
maintainers of RCU were not Cc'd :-( ]

This is a bug that will cause unwanted results. I have a patch that will not
let the kernel build when code like this is added.

https://patchwork.kernel.org/project/linux-trace-kernel/patch/20230309221302.642e82d9@xxxxxxxxxxxxxxxxxx/

( The kernel robot even failed when applying the above patch, because it
caught the code that this patch fixes )

On Mon, 6 Mar 2023 12:27:43 +0000
Douglas RAILLARD <douglas.raillard@xxxxxxx> wrote:

> From: Douglas Raillard <douglas.raillard@xxxxxxx>
>
> Fix the rcutorturename field so that its size is correctly reported in
> the text format embedded in trace.dat files. As it stands, it is
> reported as being of size 1:

And that the offsets of the following fields will be incorrect as well.

>
> field:char rcutorturename[8]; offset:8; size:1; signed:0;
>

Please add:

Cc: stable@xxxxxxxxxxxxxxx
Fixes: 04ae87a52074e ("ftrace: Rework event_create_dir()")

Thanks,

-- Steve

> Signed-off-by: Douglas Raillard <douglas.raillard@xxxxxxx>
> ---
> include/trace/events/rcu.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/trace/events/rcu.h b/include/trace/events/rcu.h
> index 90b2fb0292cb..012fa0d171b2 100644
> --- a/include/trace/events/rcu.h
> +++ b/include/trace/events/rcu.h
> @@ -768,7 +768,7 @@ TRACE_EVENT_RCU(rcu_torture_read,
> TP_ARGS(rcutorturename, rhp, secs, c_old, c),
>
> TP_STRUCT__entry(
> - __field(char, rcutorturename[RCUTORTURENAME_LEN])
> + __array(char, rcutorturename, RCUTORTURENAME_LEN)
> __field(struct rcu_head *, rhp)
> __field(unsigned long, secs)
> __field(unsigned long, c_old)