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

From: Steven Rostedt <[email-masked]>
Date: Tue, 25 Jan 2022 17:21:14 -0500

On Tue, 25 Jan 2022 14:07:14 -0800
Kees Cook <[email-masked]> 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