On Wed, 23 Jul 2025 14:15:02 -0700 Thorsten Blum <thorsten.b...@linux.dev> wrote:
> Thanks for the detailed explanation. > > I think the better change would be this then: > > diff --git a/include/trace/events/fib6.h b/include/trace/events/fib6.h > index 8d22b2e98d48..3f95df1fd155 100644 > --- a/include/trace/events/fib6.h > +++ b/include/trace/events/fib6.h > @@ -32,8 +32,9 @@ TRACE_EVENT(fib6_table_lookup, > __field( u16, dport ) > __field( u8, proto ) > __field( u8, rt_type ) > - __array( char, name, IFNAMSIZ ) > - __array( __u8, gw, 16 ) > + __string( name, res->nh && res->nh->fib_nh_dev ? > + res->nh->fib_nh_dev->name : "-" ) > + __array( __u8, gw, 16 ) > ), > > TP_fast_assign( > @@ -64,11 +65,8 @@ TRACE_EVENT(fib6_table_lookup, > __entry->dport = 0; > } > > - if (res->nh && res->nh->fib_nh_dev) { > - strscpy(__entry->name, res->nh->fib_nh_dev->name, > IFNAMSIZ); > - } else { > - strcpy(__entry->name, "-"); > - } > + __assign_str(name); > + > if (res->f6i == net->ipv6.fib6_null_entry) { > in6 = (struct in6_addr *)__entry->gw; > *in6 = in6addr_any; > @@ -82,7 +80,7 @@ TRACE_EVENT(fib6_table_lookup, > __entry->tb_id, __entry->oif, __entry->iif, __entry->proto, > __entry->src, __entry->sport, __entry->dst, __entry->dport, > __entry->flowlabel, __entry->tos, __entry->scope, > - __entry->flags, __entry->name, __entry->gw, __entry->err) > + __entry->flags, __get_str(name), __entry->gw, __entry->err) > ); > > #endif /* _TRACE_FIB6_H */ > > > I'll submit a v2 if you agree that this is correct. Isn't the above pretty much what I suggested? -- Steve