> As this new struct will live in UAPI, to avoid breaking user-space code > that expects `struct sockaddr`, the `__kernel_sockaddr_legacy` macro is > introduced. This macro allows us to use either `struct sockaddr` or > `struct sockaddr_legacy` depending on the context in which the code is > used: kernel-space or user-space.
Are there cases of userspace API structures where the flexiable array appears in the middle? I assume this new compiler flag is not only for use in the kernel? When it gets turned on in user space, will the kernel headers will again produce warnings? Should we be considering allowing user space to opt in to using sockaddr_legacy? Andrew