Re: [PATCH net-next v5 1/8] net: Add struct sockaddr_unsized for sockaddr of unknown length

Kees Cook
2025-11-04T16:59:44Z

On Tue, Nov 04, 2025 at 09:15:36AM +0000, David Laight wrote:
> On Mon, 3 Nov 2025 16:26:09 -0800
> Kees Cook <kees@kernel.org> wrote:
>
> > Add flexible sockaddr structure to support addresses longer than the
> > traditional 14-byte struct sockaddr::sa_data limitation without
> > requiring the full 128-byte sa_data of struct sockaddr_storage. This
> > allows the network APIs to pass around a pointer to an object that
> > isn't lying to the compiler about how big it is, but must be accompanied
> > by its actual size as an additional parameter.
> >
> > It's possible we may way to migrate to including the size with the
> > struct in the future, e.g.:
> >
> > struct sockaddr_unsized {
> > u16 sa_data_len;
> > u16 sa_family;
> > u8 sa_data[] __counted_by(sa_data_len);
> > };
>
> I'm not sure having that example helps.
> At a quick glance it might be thought of as part of the change.
> That particular example also has all sorts of issues, so any such
> change would have to be very different.

That's fine, we can drop the example and the sentence introducing it. If
a v6 is desired, let me know.

--
Kees Cook