Re: [klibc] [PATCH net-next] net: uapi: Provide an UAPI definition of 'struct sockaddr'
From: "H. Peter Anvin" <hpa@zytor.com>
Date: 2026-01-20 23:21:01
Also in:
lkml, netdev
From: "H. Peter Anvin" <hpa@zytor.com>
Date: 2026-01-20 23:21:01
Also in:
lkml, netdev
On 2026-01-20 14:31, Arnd Bergmann wrote:
quoted
I must have accidentally cut that from my reply, sorry. Looking at it again now, I think I ran into problems with the flexible array that was removed from the in-kernel sockaddr structure in commit 2b5e9f9b7e41 ("net: Convert struct sockaddr to fixed-size "sa_data[14]""), so there is a good chance it works now with the (once more) fixed-size version. The other problem is that the structures that embed 'sockaddr' are used a lot inside of the kernel, in particular in 'ifreq', so changing the uapi sockaddr to __kernel_sockaddr requires additional changes wherever the struct members are passed by reference.
Well, the kernel should do what opting-in libcs do:
#define sockaddr __kernel_sockaddr
or
struct sockaddr { struct __kernel_sockaddr; };
... now when we have ms extensions turned on. Unfortunately gcc/clang don't
support them without the option even with __extension__, so user space is
limited to using macros.
-hpa