On Thu, Jan 09, 2025 at 11:00:24AM +0200, Gal Pressman wrote: > On 08/01/2025 1:28, Kees Cook wrote: > >> This resolves the following warning: > >> memcpy: detected field-spanning write (size 8) of single field > >> "_Generic(info, const struct ip_tunnel_info * : ((const void *)((info) + > >> 1)), struct ip_tunnel_info * : ((void *)((info) + 1)) )" at > >> include/net/ip_tunnels.h:662 (size 0) > > > > Then you can drop this macro and just use: info->options > > > > Looks like you'd need to do it for all the types in struct metadata_dst, > > but at least you could stop hiding it from the compiler. :) > > Can you please explain the "do it for all the types in struct > metadata_dst" part? > AFAICT, struct ip_tunnel_info is the only one that's extendable, I don't > think others need to be modified.
Ah, sorry. If that's the case, then just ip_tunnel_info is fine. (Is all of the metadata_dst trailing byte allocation logic just for ip_tunnel_info?) -Kees -- Kees Cook