Re: [PATCH] net: Change the layout of structure trace_event_raw_fib_table_lookup

From: David Ahern
Date: Mon Aug 13 2018 - 10:40:38 EST


On 8/12/18 8:26 PM, Zong Li wrote:
> There is an unalignment access about the structure
> 'trace_event_raw_fib_table_lookup'.
>
> In include/trace/events/fib.h, there is a memory operation which casting
> the 'src' data member to a pointer, and then store a value to this
> pointer point to.
>
> p32 = (__be32 *) __entry->src;
> *p32 = flp->saddr;
>
> The offset of 'src' in structure trace_event_raw_fib_table_lookup is not
> four bytes alignment. On some architectures, they don't permit the
> unalignment access, it need to pay the price to handle this situation in
> exception handler.
>
> Adjust the layout of structure to avoid this case.
>
> Signed-off-by: Zong Li <zong@xxxxxxxxxxxxx>
> ---
> include/trace/events/fib.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>

Fixes: 9f323973c915 ("net/ipv4: Udate fib_table_lookup tracepoint")
Acked-by: David Ahern <dsahern@xxxxxxxxx>

Do you also need a similar change to fib6_table_lookup in
include/trace/events/fib6.h?