On Mon, Oct 27, 2025 at 1:32 PM Ankit Khushwaha <[email protected]> wrote: > > Some network selftests defined variable-sized types variable at the middle > of struct causing -Wgnu-variable-sized-type-not-at-end warning. > > warning: > timestamping.c:285:18: warning: field 'cm' with variable sized type > 'struct cmsghdr' not at the end of a struct or class is a GNU > extension [-Wgnu-variable-sized-type-not-at-end] > 285 | struct cmsghdr cm; > | ^ > > ipsec.c:835:5: warning: field 'u' with variable sized type 'union > (unnamed union at ipsec.c:831:3)' not at the end of a struct or class > is a GNU extension [-Wgnu-variable-sized-type-not-at-end] > 835 | } u; > | ^ > > This patch move these field at the end of struct to fix these warnings. > > Signed-off-by: Ankit Khushwaha <[email protected]> > --- > Changelog: > v2: > https://lore.kernel.org/linux-kselftest/[email protected]/ > - fixed typos in the commit msg. > > --- > tools/testing/selftests/net/ipsec.c | 2 +- > tools/testing/selftests/net/timestamping.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/net/ipsec.c > b/tools/testing/selftests/net/ipsec.c > index 0ccf484b1d9d..36083c8f884f 100644 > --- a/tools/testing/selftests/net/ipsec.c > +++ b/tools/testing/selftests/net/ipsec.c > @@ -828,12 +828,12 @@ static int xfrm_state_pack_algo(struct nlmsghdr *nh, > size_t req_sz, > struct xfrm_desc *desc) > { > struct { > + char buf[XFRM_ALGO_KEY_BUF_SIZE]; > union { > struct xfrm_algo alg; > struct xfrm_algo_aead aead; > struct xfrm_algo_auth auth; > } u; > - char buf[XFRM_ALGO_KEY_BUF_SIZE]; > } alg = {}; > size_t alen, elen, clen, aelen; > unsigned short type; > diff --git a/tools/testing/selftests/net/timestamping.c > b/tools/testing/selftests/net/timestamping.c > index 044bc0e9ed81..ad2be2143698 100644 > --- a/tools/testing/selftests/net/timestamping.c > +++ b/tools/testing/selftests/net/timestamping.c > @@ -282,8 +282,8 @@ static void recvpacket(int sock, int recvmsg_flags, > struct iovec entry; > struct sockaddr_in from_addr; > struct { > - struct cmsghdr cm; > char control[512]; > + struct cmsghdr cm; > } control; > int res;
For the timestamping part: Reviewed-by: Jason Xing <[email protected]> Thanks, Jason

