2015-07-05 09:07:02

by Vinson Lee

[permalink] [raw]
Subject: Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c

Hi.

With the latest Linux 4.2-rc1, I am hitting this build error with GCC
4.4.7 on CentOS 6.

CC net/netfilter/ipset/ip_set_hash_netnet.o
net/netfilter/ipset/ip_set_hash_netnet.c: In function ‘hash_netnet4_uadt’:
net/netfilter/ipset/ip_set_hash_netnet.c:163: error: unknown field
‘cidr’ specified in initializer
net/netfilter/ipset/ip_set_hash_netnet.c:163: warning: missing braces
around initializer
net/netfilter/ipset/ip_set_hash_netnet.c:163: warning: (near
initialization for ‘e.<anonymous>.ip’)
net/netfilter/ipset/ip_set_hash_netnet.c: In function ‘hash_netnet6_uadt’:
net/netfilter/ipset/ip_set_hash_netnet.c:388: error: unknown field
‘cidr’ specified in initializer
net/netfilter/ipset/ip_set_hash_netnet.c:388: warning: missing braces
around initializer
net/netfilter/ipset/ip_set_hash_netnet.c:388: warning: (near
initialization for ‘e.ip[0]’)

Cheers,
Vinson


2015-07-05 15:35:33

by Guenter Roeck

[permalink] [raw]
Subject: Re: Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c

On Sat, Jul 04, 2015 at 12:44:36AM -0700, Vinson Lee wrote:
> Hi.
>
> With the latest Linux 4.2-rc1, I am hitting this build error with GCC
> 4.4.7 on CentOS 6.
>
> CC net/netfilter/ipset/ip_set_hash_netnet.o
> net/netfilter/ipset/ip_set_hash_netnet.c: In function ‘hash_netnet4_uadt’:
> net/netfilter/ipset/ip_set_hash_netnet.c:163: error: unknown field
> ‘cidr’ specified in initializer
> net/netfilter/ipset/ip_set_hash_netnet.c:163: warning: missing braces
> around initializer
> net/netfilter/ipset/ip_set_hash_netnet.c:163: warning: (near
> initialization for ‘e.<anonymous>.ip’)
> net/netfilter/ipset/ip_set_hash_netnet.c: In function ‘hash_netnet6_uadt’:
> net/netfilter/ipset/ip_set_hash_netnet.c:388: error: unknown field
> ‘cidr’ specified in initializer
> net/netfilter/ipset/ip_set_hash_netnet.c:388: warning: missing braces
> around initializer
> net/netfilter/ipset/ip_set_hash_netnet.c:388: warning: (near
> initialization for ‘e.ip[0]’)
>
Previously fixed with commit 1a869205c75cb ("netfilter: ipset: The unnamed union
initialization may lead to compilation error"), reintroduced with commit
aff227581ed1a ("netfilter: ipset: Check CIDR value only when attribute is given").

Guenter

2015-07-13 16:13:47

by Akemi Yagi

[permalink] [raw]
Subject: Re: Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c

On Sun, 05 Jul 2015 08:35:20 -0700, Guenter Roeck wrote:

> On Sat, Jul 04, 2015 at 12:44:36AM -0700, Vinson Lee wrote:
>> Hi.
>>
>> With the latest Linux 4.2-rc1, I am hitting this build error with GCC
>> 4.4.7 on CentOS 6.
>>
>> CC net/netfilter/ipset/ip_set_hash_netnet.o
>> net/netfilter/ipset/ip_set_hash_netnet.c: In function
>> ‘hash_netnet4_uadt’:
>> net/netfilter/ipset/ip_set_hash_netnet.c:163: error: unknown field
>> ‘cidr’ specified in initializer
>> net/netfilter/ipset/ip_set_hash_netnet.c:163: warning: missing braces
>> around initializer net/netfilter/ipset/ip_set_hash_netnet.c:163:
>> warning: (near initialization for ‘e.<anonymous>.ip’)
>> net/netfilter/ipset/ip_set_hash_netnet.c: In function
>> ‘hash_netnet6_uadt’:
>> net/netfilter/ipset/ip_set_hash_netnet.c:388: error: unknown field
>> ‘cidr’ specified in initializer
>> net/netfilter/ipset/ip_set_hash_netnet.c:388: warning: missing braces
>> around initializer net/netfilter/ipset/ip_set_hash_netnet.c:388:
>> warning: (near initialization for ‘e.ip[0]’)
>>
> Previously fixed with commit 1a869205c75cb ("netfilter: ipset: The
> unnamed union initialization may lead to compilation error"),
> reintroduced with commit aff227581ed1a ("netfilter: ipset: Check CIDR
> value only when attribute is given").
>
> Guenter

I wonder what can be done to get this issue fixed. This problem was seen
in 4.2-rc1 and now in 4.2-rc2 on RHEL-6.6.

$ gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)

Please advise.

Akemi

2015-07-13 18:18:03

by Cong Wang

[permalink] [raw]
Subject: Re: Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c

On Mon, Jul 13, 2015 at 9:13 AM, Akemi Yagi <[email protected]> wrote:
> On Sun, 05 Jul 2015 08:35:20 -0700, Guenter Roeck wrote:
>
>> On Sat, Jul 04, 2015 at 12:44:36AM -0700, Vinson Lee wrote:
>>> Hi.
>>>
>>> With the latest Linux 4.2-rc1, I am hitting this build error with GCC
>>> 4.4.7 on CentOS 6.
>>>
>>> CC net/netfilter/ipset/ip_set_hash_netnet.o
>>> net/netfilter/ipset/ip_set_hash_netnet.c: In function
>>> ‘hash_netnet4_uadt’:
>>> net/netfilter/ipset/ip_set_hash_netnet.c:163: error: unknown field
>>> ‘cidr’ specified in initializer
>>> net/netfilter/ipset/ip_set_hash_netnet.c:163: warning: missing braces
>>> around initializer net/netfilter/ipset/ip_set_hash_netnet.c:163:
>>> warning: (near initialization for ‘e.<anonymous>.ip’)
>>> net/netfilter/ipset/ip_set_hash_netnet.c: In function
>>> ‘hash_netnet6_uadt’:
>>> net/netfilter/ipset/ip_set_hash_netnet.c:388: error: unknown field
>>> ‘cidr’ specified in initializer
>>> net/netfilter/ipset/ip_set_hash_netnet.c:388: warning: missing braces
>>> around initializer net/netfilter/ipset/ip_set_hash_netnet.c:388:
>>> warning: (near initialization for ‘e.ip[0]’)
>>>
>> Previously fixed with commit 1a869205c75cb ("netfilter: ipset: The
>> unnamed union initialization may lead to compilation error"),
>> reintroduced with commit aff227581ed1a ("netfilter: ipset: Check CIDR
>> value only when attribute is given").
>>
>> Guenter
>
> I wonder what can be done to get this issue fixed. This problem was seen
> in 4.2-rc1 and now in 4.2-rc2 on RHEL-6.6.
>

Just revert the initializer piece.

2015-07-14 17:26:02

by Akemi Yagi

[permalink] [raw]
Subject: Re: Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c

On Mon, 13 Jul 2015 11:17:57 -0700, Cong Wang wrote:

> On Mon, Jul 13, 2015 at 9:13 AM, Akemi Yagi <[email protected]> wrote:
>> On Sun, 05 Jul 2015 08:35:20 -0700, Guenter Roeck wrote:

>>> Previously fixed with commit 1a869205c75cb ("netfilter: ipset: The
>>> unnamed union initialization may lead to compilation error"),
>>> reintroduced with commit aff227581ed1a ("netfilter: ipset: Check CIDR
>>> value only when attribute is given").
>>>
>>> Guenter
>>
>> I wonder what can be done to get this issue fixed. This problem was
>> seen in 4.2-rc1 and now in 4.2-rc2 on RHEL-6.6.
>>
>>
> Just revert the initializer piece.

Thanks to Jozsef Kadlecsik who posted this response to the netfilter-devel
list:

"As I mentioned at the workshop, the patch
net-netfilter-ipset-work-around-gcc-444-initializer-bug.patch has been
added to the -mm tree at Jun 17. My impression was that that way the bug
was fixed and everything was all right."

The patch is seen here:

https://lkml.org/lkml/2015/7/6/881

Akemi