Messages in this thread | | | From | Sven Schnelle <> | Subject | Re: [PATCH] tracing/synthetic: use union instead of casts | Date | Wed, 09 Aug 2023 09:16:47 +0200 |
| |
Steven Rostedt <rostedt@goodmis.org> writes:
> On Tue, 08 Aug 2023 19:33:06 +0200 > Sven Schnelle <svens@linux.ibm.com> wrote: > >> Steven Rostedt <rostedt@goodmis.org> writes: >> >> > The "dynamic" I was using wasn't about the fields were dynamic (union), but >> > because the field the offset/len combo represents is of dynamic size. It's >> > used all over the trace_events code. >> > >> > I would have in include/linux/trace_events.h (right above struct trace_entry): >> > >> > /* Used to find the offset and length of dynamic fields in trace events */ >> > struct trace_dynamic_info { >> > #ifdef CONFIG_CPU_BIG_ENDIAN >> > u16 offset; >> > u16 len; >> > #else >> > u16 len; >> > u16 offset; >> > #endif >> > }; >> > >> > And then it kernel/trace/trace.h: >> > >> > union trace_synthetic_field { >> > u8 as_u8; >> > u16 as_u16; >> > u32 as_u32; >> > u64 as_u64; >> > struct trace_dynamic_info as_dynamic; >> > }; >> >> Ok. >> >> > I could work on the part of the trace_dynamic_info if you want. >> >> Whatever you prefer. Should i update my patch and send it again, or do >> you want to adjust it? >> > > How quickly do you need it. I can hopefully start working on it this week.
I would like to have the bugfix in as soon as possible, as this is triggering a lot of KASAN warnings in our CI (besides breaking the synthetic events on our platform). I sent a v2 of my patch, so we apply that. The rest of the changes are not urgent.
Thanks Sven
| |