Re: linux-next: build failure after merge of the kspp tree

From: Steven Rostedt
Date: Tue Jan 25 2022 - 17:21:26 EST


On Tue, 25 Jan 2022 14:07:14 -0800
Kees Cook <keescook@xxxxxxxxxxxx> wrote:

> > The tstruct is the TP_STRUCT__entry() and for each __rel_dynamic_array() or
> > __dynamic_array(), the __data_size gets updated and saved into the
> > __data_offsets that holds where each item is.
> >
> > The rel versions sets the offset from its location to the data, where as
> > the non rel versions sets the offset from the beginning of the event to the
> > data.
>
> Could this just be
>
> #define __get_rel_dynamic_array(field) \
> ((void *)(&__entry->data[__entry->__rel_loc_##field & 0xffff])
>
> ?

This is currently user space defined. But since the only user of the rel_*
version hasn't been upstreamed yet, we could change it. But it also
requires changing libtraceevent as it depends on this code too.

I'm surprised that it doesn't break with the __get_dynamic_array()
versions, or is that because it's based off of __entry?

-- Steve