Re: [PATCH v6] net: ip, diag -- Add diag interface for raw sockets

From: David Ahern
Date: Thu Oct 13 2016 - 11:44:43 EST


On 10/13/16 1:16 AM, Cyrill Gorcunov wrote:
> On Wed, Oct 12, 2016 at 07:55:04PM -0400, David Miller wrote:
>> From: Cyrill Gorcunov <gorcunov@xxxxxxxxx>
>> Date: Wed, 12 Oct 2016 09:53:29 +0300
>>
>>> I can't rename the field, neither a can use union.
>>
>> Remind me again what is wrong with using an anonymous union?
>
> Anon union would be a preferred but Eric pointed me that even
> though it might cause problems (https://patchwork.kernel.org/patch/9353365/)
>
> | Note that some programs could fail to compile with the added union
> | anyway.
> |
> | Some gcc versions are unable to compile a static init with an union
> |
> | struct inet_diag_req_v2 foo = { .pad = 0, sdiag_family = AF_INET, };
> |
> | When I cooked my recent fq commit I simply removed a pad and replaced
> | it :
> |
> | git show fefa569a9d4bc4 -- include
>

That commit suggests it is acceptable to just rename the pad field, which is the simplest approach.