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

Reply via email to