To pick the changes in: db243b796439c0ca ("net/ipv4/ipv6: Replace one-element arraya with flexible-array members") 2d3e5caf96b9449a ("net/ipv4: Replace one-element array with flexible-array member") That don't result in any change in tooling, the structs changed remains with the same layout. This addresses this build warning: Warning: Kernel ABI header at 'tools/include/uapi/linux/in.h' differs from latest version at 'include/uapi/linux/in.h' diff -u tools/include/uapi/linux/in.h include/uapi/linux/in.h
Showing the changes to tools/include/uapi/linux (1 of 1 file). Show all
Unified · Split
| @@ -188,11 +188,22 @@ struct ip_mreq_source { · 187 unmodified lines | ||
| 188 | 188 | }; |
| 189 | 189 | |
| 190 | 190 | struct ip_msfilter { |
| 191 | − __be32 imsf_multiaddr; | |
| 192 | − __be32 imsf_interface; | |
| 193 | − __u32 imsf_fmode; | |
| 194 | − __u32 imsf_numsrc; | |
| 195 | − __be32 imsf_slist[1]; | |
| 191 | + union { | |
| 192 | + struct { | |
| 193 | + __be32 imsf_multiaddr_aux; | |
| 194 | + __be32 imsf_interface_aux; | |
| 195 | + __u32 imsf_fmode_aux; | |
| 196 | + __u32 imsf_numsrc_aux; | |
| 197 | + __be32 imsf_slist[1]; | |
| 198 | + }; | |
| 199 | + struct { | |
| 200 | + __be32 imsf_multiaddr; | |
| 201 | + __be32 imsf_interface; | |
| 202 | + __u32 imsf_fmode; | |
| 203 | + __u32 imsf_numsrc; | |
| 204 | + __be32 imsf_slist_flex[]; | |
| 205 | + }; | |
| 206 | + }; | |
| 196 | 207 | }; |
| 197 | 208 | |
| 198 | 209 | #define IP_MSFILTER_SIZE(numsrc) \ |
| @@ -211,11 +222,22 @@ struct group_source_req { · 12 unmodified lines | ||
| 211 | 222 | }; |
| 212 | 223 | |
| 213 | 224 | struct group_filter { |
| 214 | − __u32 gf_interface; /* interface index */ | |
| 215 | − struct __kernel_sockaddr_storage gf_group; /* multicast address */ | |
| 216 | − __u32 gf_fmode; /* filter mode */ | |
| 217 | − __u32 gf_numsrc; /* number of sources */ | |
| 218 | − struct __kernel_sockaddr_storage gf_slist[1]; /* interface index */ | |
| 225 | + union { | |
| 226 | + struct { | |
| 227 | + __u32 gf_interface_aux; /* interface index */ | |
| 228 | + struct __kernel_sockaddr_storage gf_group_aux; /* multicast address */ | |
| 229 | + __u32 gf_fmode_aux; /* filter mode */ | |
| 230 | + __u32 gf_numsrc_aux; /* number of sources */ | |
| 231 | + struct __kernel_sockaddr_storage gf_slist[1]; /* interface index */ | |
| 232 | + }; | |
| 233 | + struct { | |
| 234 | + __u32 gf_interface; /* interface index */ | |
| 235 | + struct __kernel_sockaddr_storage gf_group; /* multicast address */ | |
| 236 | + __u32 gf_fmode; /* filter mode */ | |
| 237 | + __u32 gf_numsrc; /* number of sources */ | |
| 238 | + struct __kernel_sockaddr_storage gf_slist_flex[]; /* interface index */ | |
| 239 | + }; | |
| 240 | + }; | |
| 219 | 241 | }; |
| 220 | 242 | |
| 221 | 243 | #define GROUP_FILTER_SIZE(numsrc) \ |