History

tools headers UAPI: Sync linux/in.h copy with the kernel sources

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

Arnaldo Carvalho de Melo committed 5 years ago

Commit ee286c61 parent 0d1c50a1 file · +32 −10Browse files

Showing the changes to tools/include/uapi/linux (1 of 1 file). Show all

Unified · Split

tools/include/uapi/linux/in.h+32−10
@@ -188,11 +188,22 @@ struct ip_mreq_source { · 187 unmodified lines
188188 };
189189
190190 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+ };
196207 };
197208
198209 #define IP_MSFILTER_SIZE(numsrc) \
@@ -211,11 +222,22 @@ struct group_source_req { · 12 unmodified lines
211222 };
212223
213224 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+ };
219241 };
220242
221243 #define GROUP_FILTER_SIZE(numsrc) \