netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c
@ 2015-07-04  7:44 Vinson Lee
  2015-07-05 15:35 ` Guenter Roeck
  0 siblings, 1 reply; 12+ messages in thread
From: Vinson Lee @ 2015-07-04  7:44 UTC (permalink / raw)
  To: Pablo Neira Ayuso, Patrick McHardy, Jozsef Kadlecsik,
	David S. Miller, Sergey Popovich, Anton Danilov
  Cc: netfilter-devel, coreteam, Netdev, LKML

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c
  2015-07-04  7:44 Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c Vinson Lee
@ 2015-07-05 15:35 ` Guenter Roeck
  2015-07-13 16:13   ` Akemi Yagi
  0 siblings, 1 reply; 12+ messages in thread
From: Guenter Roeck @ 2015-07-05 15:35 UTC (permalink / raw)
  To: Vinson Lee
  Cc: Pablo Neira Ayuso, Patrick McHardy, Jozsef Kadlecsik,
	David S. Miller, Sergey Popovich, Anton Danilov, netfilter-devel,
	coreteam, Netdev, LKML

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
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c
  2015-07-05 15:35 ` Guenter Roeck
@ 2015-07-13 16:13   ` Akemi Yagi
  2015-07-13 16:41     ` Pablo Neira Ayuso
  2015-07-13 18:17     ` Cong Wang
  0 siblings, 2 replies; 12+ messages in thread
From: Akemi Yagi @ 2015-07-13 16:13 UTC (permalink / raw)
  To: linux-kernel; +Cc: netfilter-devel, netdev, netfilter-devel, linux-kernel

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c
  2015-07-13 16:13   ` Akemi Yagi
@ 2015-07-13 16:41     ` Pablo Neira Ayuso
  2015-07-13 16:46       ` Akemi Yagi
  2015-07-14 17:12       ` Jozsef Kadlecsik
  2015-07-13 18:17     ` Cong Wang
  1 sibling, 2 replies; 12+ messages in thread
From: Pablo Neira Ayuso @ 2015-07-13 16:41 UTC (permalink / raw)
  To: Akemi Yagi; +Cc: netfilter-devel

[-- Attachment #1: Type: text/plain, Size: 1686 bytes --]

On Mon, Jul 13, 2015 at 04:13:31PM +0000, Akemi Yagi 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.
> 
> $ gcc --version
> gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)

Could you please test this patch? Thank you.

[-- Attachment #2: 0001-netfilter-ipset-fix-build-error-with-old-gcc-version.patch --]
[-- Type: text/x-diff, Size: 2183 bytes --]

>From 72562eafde64a242a2a1b0b40882aa7bf2b99270 Mon Sep 17 00:00:00 2001
From: Pablo Neira Ayuso <pablo@netfilter.org>
Date: Mon, 13 Jul 2015 18:31:20 +0200
Subject: [PATCH] netfilter: ipset: fix build error with old gcc version
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

  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

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

Similar to 1a869205c75c ("netfilter: ipset: The unnamed union initialization
may lead to compilation error").

Reported-by: Akemi Yagi <amyagi@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
 net/netfilter/ipset/ip_set_hash_netnet.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/net/netfilter/ipset/ip_set_hash_netnet.c b/net/netfilter/ipset/ip_set_hash_netnet.c
index 3c862c0..4cafb7e 100644
--- a/net/netfilter/ipset/ip_set_hash_netnet.c
+++ b/net/netfilter/ipset/ip_set_hash_netnet.c
@@ -160,12 +160,13 @@ hash_netnet4_uadt(struct ip_set *set, struct nlattr *tb[],
 {
 	const struct hash_netnet *h = set->data;
 	ipset_adtfn adtfn = set->variant->adt[adt];
-	struct hash_netnet4_elem e = { .cidr = { HOST_MASK, HOST_MASK, }, };
+	struct hash_netnet4_elem e = {};
 	struct ip_set_ext ext = IP_SET_INIT_UEXT(set);
 	u32 ip = 0, ip_to = 0, last;
 	u32 ip2 = 0, ip2_from = 0, ip2_to = 0, last2;
 	int ret;
 
+	e.cidr[0] = e.cidr[1] = HOST_MASK;
 	if (tb[IPSET_ATTR_LINENO])
 		*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
 
@@ -385,10 +386,11 @@ hash_netnet6_uadt(struct ip_set *set, struct nlattr *tb[],
 		  enum ipset_adt adt, u32 *lineno, u32 flags, bool retried)
 {
 	ipset_adtfn adtfn = set->variant->adt[adt];
-	struct hash_netnet6_elem e = { .cidr = { HOST_MASK, HOST_MASK, }, };
+	struct hash_netnet6_elem e = {};
 	struct ip_set_ext ext = IP_SET_INIT_UEXT(set);
 	int ret;
 
+	e.cidr[0] = e.cidr[1] = HOST_MASK;
 	if (tb[IPSET_ATTR_LINENO])
 		*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
 
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c
  2015-07-13 16:41     ` Pablo Neira Ayuso
@ 2015-07-13 16:46       ` Akemi Yagi
  2015-07-13 18:29         ` Alan Bartlett
  2015-07-14 17:12       ` Jozsef Kadlecsik
  1 sibling, 1 reply; 12+ messages in thread
From: Akemi Yagi @ 2015-07-13 16:46 UTC (permalink / raw)
  To: Pablo Neira Ayuso; +Cc: netfilter-devel, Alan Bartlett

On Mon, Jul 13, 2015 at 9:41 AM, Pablo Neira Ayuso <pablo@netfilter.org> wrote:
> On Mon, Jul 13, 2015 at 04:13:31PM +0000, Akemi Yagi 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.
>>
>> $ gcc --version
>> gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
>
> Could you please test this patch? Thank you.

Thanks for the patch. We will test this and report back to you.

Akemi
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c
  2015-07-13 16:13   ` Akemi Yagi
  2015-07-13 16:41     ` Pablo Neira Ayuso
@ 2015-07-13 18:17     ` Cong Wang
  1 sibling, 0 replies; 12+ messages in thread
From: Cong Wang @ 2015-07-13 18:17 UTC (permalink / raw)
  To: Akemi Yagi; +Cc: netdev, netfilter-devel, linux-kernel, Sergey Popovich

On Mon, Jul 13, 2015 at 9:13 AM, Akemi Yagi <amyagi@gmail.com> 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.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c
  2015-07-13 16:46       ` Akemi Yagi
@ 2015-07-13 18:29         ` Alan Bartlett
  0 siblings, 0 replies; 12+ messages in thread
From: Alan Bartlett @ 2015-07-13 18:29 UTC (permalink / raw)
  To: Pablo Neira Ayuso; +Cc: netfilter-devel, Akemi Yagi

On 13 July 2015 at 17:46, Akemi Yagi <amyagi@gmail.com> wrote:
> On Mon, Jul 13, 2015 at 9:41 AM, Pablo Neira Ayuso <pablo@netfilter.org> wrote:
>
>> Could you please test this patch? Thank you.
>
> Thanks for the patch. We will test this and report back to you.
>
> Akemi

Hello Pablo,

My colleague Akemi Yagi has forwarded the patch to me for testing. I
now have both some good and bad news to report.

The patch (0001-netfilter-ipset-fix-build-error-with-old-gcc-version.patch)
does indeed fix the reported bug and allows the build to continue.

Unfortunately another problem is then disclosed. It is fundamentally
the same type of bug as above.

net/netfilter/ipset/ip_set_hash_netportnet.c: In function
'hash_netportnet4_uadt':
net/netfilter/ipset/ip_set_hash_netportnet.c:178: error: unknown field
'cidr' specified in initializer
net/netfilter/ipset/ip_set_hash_netportnet.c:178: warning: missing
braces around initializer
net/netfilter/ipset/ip_set_hash_netportnet.c:178: warning: (near
initialization for 'e.<anonymous>.ip')
net/netfilter/ipset/ip_set_hash_netportnet.c: In function
'hash_netportnet6_uadt':
net/netfilter/ipset/ip_set_hash_netportnet.c:448: error: unknown field
'cidr' specified in initializer
net/netfilter/ipset/ip_set_hash_netportnet.c:448: warning: missing
braces around initializer
net/netfilter/ipset/ip_set_hash_netportnet.c:448: warning: (near
initialization for 'e.ip[0]')
make[3]: *** [net/netfilter/ipset/ip_set_hash_netportnet.o] Error 1
make[2]: *** [net/netfilter/ipset] Error 2
make[1]: *** [net/netfilter] Error 2
make: *** [net] Error 2

If you could create another patch, please, I will be willing to test it.

Alan.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c
  2015-07-13 16:41     ` Pablo Neira Ayuso
  2015-07-13 16:46       ` Akemi Yagi
@ 2015-07-14 17:12       ` Jozsef Kadlecsik
  2015-07-14 17:40         ` Akemi Yagi
  2015-08-11 15:50         ` Akemi Yagi
  1 sibling, 2 replies; 12+ messages in thread
From: Jozsef Kadlecsik @ 2015-07-14 17:12 UTC (permalink / raw)
  To: Pablo Neira Ayuso; +Cc: Akemi Yagi, netfilter-devel

Hi,

On Mon, 13 Jul 2015, Pablo Neira Ayuso wrote:

> On Mon, Jul 13, 2015 at 04:13:31PM +0000, Akemi Yagi 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.
> > 
> > $ gcc --version
> > gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
> 
> Could you please test this patch? Thank you.

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.

Best regards,
Jozsef
-
E-mail  : kadlec@blackhole.kfki.hu, kadlecsik.jozsef@wigner.mta.hu
PGP key : http://www.kfki.hu/~kadlec/pgp_public_key.txt
Address : Wigner Research Centre for Physics, Hungarian Academy of Sciences
          H-1525 Budapest 114, POB. 49, Hungary

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c
  2015-07-14 17:12       ` Jozsef Kadlecsik
@ 2015-07-14 17:40         ` Akemi Yagi
  2015-08-11 15:50         ` Akemi Yagi
  1 sibling, 0 replies; 12+ messages in thread
From: Akemi Yagi @ 2015-07-14 17:40 UTC (permalink / raw)
  To: Jozsef Kadlecsik; +Cc: Pablo Neira Ayuso, netfilter-devel, Alan Bartlett

On Tue, Jul 14, 2015 at 10:12 AM, Jozsef Kadlecsik
<kadlec@blackhole.kfki.hu> wrote:
> Hi,
>
> On Mon, 13 Jul 2015, Pablo Neira Ayuso wrote:
>
>> On Mon, Jul 13, 2015 at 04:13:31PM +0000, Akemi Yagi wrote:
>> > On Sun, 05 Jul 2015 08:35:20 -0700, Guenter Roeck wrote:
(snip)
>> > > 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)
>>
>> Could you please test this patch? Thank you.
>
> 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.
>
> Best regards,
> Jozsef
> -
> E-mail  : kadlec@blackhole.kfki.hu, kadlecsik.jozsef@wigner.mta.hu
> PGP key : http://www.kfki.hu/~kadlec/pgp_public_key.txt
> Address : Wigner Research Centre for Physics, Hungarian Academy of Sciences
>           H-1525 Budapest 114, POB. 49, Hungary

Thanks, Jozsef, for posting this info. It does seem to be a complete
patch for the current issue. It is listed here:

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

Akemi

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c
  2015-07-14 17:12       ` Jozsef Kadlecsik
  2015-07-14 17:40         ` Akemi Yagi
@ 2015-08-11 15:50         ` Akemi Yagi
  2015-08-20 19:27           ` Pablo Neira Ayuso
  1 sibling, 1 reply; 12+ messages in thread
From: Akemi Yagi @ 2015-08-11 15:50 UTC (permalink / raw)
  To: netfilter-devel; +Cc: Jozsef Kadlecsik, Pablo Neira Ayuso, Alan Bartlett

On Tue, Jul 14, 2015 at 10:12 AM, Jozsef Kadlecsik
<kadlec@blackhole.kfki.hu> wrote:
> Hi,
>
> On Mon, 13 Jul 2015, Pablo Neira Ayuso wrote:
>
>> On Mon, Jul 13, 2015 at 04:13:31PM +0000, Akemi Yagi 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?:
(snip)
>> > >>
>> > > 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)
>>
>> Could you please test this patch? Thank you.
>
> 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.
>
> Best regards,
> Jozsef

The referenced patch does indeed fix the issue but it is still not in
Linus' tree as of kernel 4.2.0-0.rc6. Does anyone know how to push
forward this so the official 4.2 kernel would have the fix?

Thanks,

Akemi

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c
  2015-08-11 15:50         ` Akemi Yagi
@ 2015-08-20 19:27           ` Pablo Neira Ayuso
  2015-08-20 20:11             ` Alan Bartlett
  0 siblings, 1 reply; 12+ messages in thread
From: Pablo Neira Ayuso @ 2015-08-20 19:27 UTC (permalink / raw)
  To: Akemi Yagi; +Cc: netfilter-devel, Jozsef Kadlecsik, Alan Bartlett

On Tue, Aug 11, 2015 at 08:50:28AM -0700, Akemi Yagi wrote:
> On Tue, Jul 14, 2015 at 10:12 AM, Jozsef Kadlecsik > <kadlec@blackhole.kfki.hu> wrote:
[...]
> > 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.
> >
> > Best regards,
> > Jozsef
> 
> The referenced patch does indeed fix the issue but it is still not in
> Linus' tree as of kernel 4.2.0-0.rc6. Does anyone know how to push
> forward this so the official 4.2 kernel would have the fix?

Is this problem still present in 4.2.0-rc7?

I can put this into my nf git tree then pass this up to David. If so,
could you please Cc the author of that patch so he knows this is
following its path to master, I would like to avoid that we get this
from two different paths.

Thanks!

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c
  2015-08-20 19:27           ` Pablo Neira Ayuso
@ 2015-08-20 20:11             ` Alan Bartlett
  0 siblings, 0 replies; 12+ messages in thread
From: Alan Bartlett @ 2015-08-20 20:11 UTC (permalink / raw)
  To: Pablo Neira Ayuso; +Cc: Akemi Yagi, netfilter-devel, Jozsef Kadlecsik

[-- Attachment #1: Type: text/plain, Size: 2704 bytes --]

On 20 August 2015 at 20:27, Pablo Neira Ayuso <pablo@netfilter.org> wrote:
> On Tue, Aug 11, 2015 at 08:50:28AM -0700, Akemi Yagi wrote:
>> On Tue, Jul 14, 2015 at 10:12 AM, Jozsef Kadlecsik > <kadlec@blackhole.kfki.hu> wrote:
> [...]
>> > 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.
>> >
>> > Best regards,
>> > Jozsef
>>
>> The referenced patch does indeed fix the issue but it is still not in
>> Linus' tree as of kernel 4.2.0-0.rc6. Does anyone know how to push
>> forward this so the official 4.2 kernel would have the fix?
>
> Is this problem still present in 4.2.0-rc7?
>
> I can put this into my nf git tree then pass this up to David. If so,
> could you please Cc the author of that patch so he knows this is
> following its path to master, I would like to avoid that we get this
> from two different paths.
>
> Thanks!

Hello Pablo,

I can confirm that problem is still present in linux-4.2-rc7 and the
attached file shows the relevant locations within Linus' tree.

[quote]
[linux]$ date
Mon Aug 17 10:46:45 EDT 2015
[linux]$ git pull
Already up-to-date.
[linux]$ head -n 4 Makefile
VERSION = 4
PATCHLEVEL = 2
SUBLEVEL = 0
EXTRAVERSION = -rc7
[linux]$ cd net/netfilter/ipset/
[ipset]$ grep -l ' \.cidr' *
ip_set_hash_ipportnet.c
ip_set_hash_net.c
ip_set_hash_netiface.c
ip_set_hash_netnet.c
ip_set_hash_netport.c
ip_set_hash_netportnet.c
[ipset]$ for F in $(grep -l ' \.cidr' *)
> do echo -e "\n###### $F ######\n"
> grep ' \.cidr' $F
> done; echo

###### ip_set_hash_ipportnet.c ######

    struct hash_ipportnet4_elem e = { .cidr = HOST_MASK - 1 };
    struct hash_ipportnet6_elem e = { .cidr = HOST_MASK - 1 };

###### ip_set_hash_net.c ######

    struct hash_net4_elem e = { .cidr = HOST_MASK };
    struct hash_net6_elem e = { .cidr = HOST_MASK };

###### ip_set_hash_netiface.c ######

    struct hash_netiface4_elem e = { .cidr = HOST_MASK, .elem = 1 };
    struct hash_netiface6_elem e = { .cidr = HOST_MASK, .elem = 1 };

###### ip_set_hash_netnet.c ######

    struct hash_netnet4_elem e = { .cidr = { HOST_MASK, HOST_MASK, }, };
    struct hash_netnet6_elem e = { .cidr = { HOST_MASK, HOST_MASK, }, };

###### ip_set_hash_netport.c ######

    struct hash_netport4_elem e = { .cidr = HOST_MASK - 1 };
    struct hash_netport6_elem e = { .cidr = HOST_MASK  - 1 };

###### ip_set_hash_netportnet.c ######

    struct hash_netportnet4_elem e = { .cidr = { HOST_MASK, HOST_MASK, }, };
    struct hash_netportnet6_elem e = { .cidr = { HOST_MASK, HOST_MASK, }, };

[ipset]$
[/quote]

Alan.

[-- Attachment #2: ipset-gcc-447-initializer-bug.txt --]
[-- Type: text/plain, Size: 1471 bytes --]

[linux]$ date
Mon Aug 17 10:46:45 EDT 2015
[linux]$ git pull
Already up-to-date.
[linux]$ head -n 4 Makefile
VERSION = 4
PATCHLEVEL = 2
SUBLEVEL = 0
EXTRAVERSION = -rc7
[linux]$ cd net/netfilter/ipset/
[ipset]$ grep -l ' \.cidr' *
ip_set_hash_ipportnet.c
ip_set_hash_net.c
ip_set_hash_netiface.c
ip_set_hash_netnet.c
ip_set_hash_netport.c
ip_set_hash_netportnet.c
[ipset]$ for F in $(grep -l ' \.cidr' *)
> do echo -e "\n###### $F ######\n"
> grep ' \.cidr' $F
> done; echo

###### ip_set_hash_ipportnet.c ######

	struct hash_ipportnet4_elem e = { .cidr = HOST_MASK - 1 };
	struct hash_ipportnet6_elem e = { .cidr = HOST_MASK - 1 };

###### ip_set_hash_net.c ######

	struct hash_net4_elem e = { .cidr = HOST_MASK };
	struct hash_net6_elem e = { .cidr = HOST_MASK };

###### ip_set_hash_netiface.c ######

	struct hash_netiface4_elem e = { .cidr = HOST_MASK, .elem = 1 };
	struct hash_netiface6_elem e = { .cidr = HOST_MASK, .elem = 1 };

###### ip_set_hash_netnet.c ######

	struct hash_netnet4_elem e = { .cidr = { HOST_MASK, HOST_MASK, }, };
	struct hash_netnet6_elem e = { .cidr = { HOST_MASK, HOST_MASK, }, };

###### ip_set_hash_netport.c ######

	struct hash_netport4_elem e = { .cidr = HOST_MASK - 1 };
	struct hash_netport6_elem e = { .cidr = HOST_MASK  - 1 };

###### ip_set_hash_netportnet.c ######

	struct hash_netportnet4_elem e = { .cidr = { HOST_MASK, HOST_MASK, }, };
	struct hash_netportnet6_elem e = { .cidr = { HOST_MASK, HOST_MASK, }, };

[ipset]$ 

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2015-08-20 20:11 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-04  7:44 Linux 4.2 build error in net/netfilter/ipset/ip_set_hash_netnet.c Vinson Lee
2015-07-05 15:35 ` Guenter Roeck
2015-07-13 16:13   ` Akemi Yagi
2015-07-13 16:41     ` Pablo Neira Ayuso
2015-07-13 16:46       ` Akemi Yagi
2015-07-13 18:29         ` Alan Bartlett
2015-07-14 17:12       ` Jozsef Kadlecsik
2015-07-14 17:40         ` Akemi Yagi
2015-08-11 15:50         ` Akemi Yagi
2015-08-20 19:27           ` Pablo Neira Ayuso
2015-08-20 20:11             ` Alan Bartlett
2015-07-13 18:17     ` Cong Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).