Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1255546

Re: Linux 4.2.4

From Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Newsgroups linux.kernel
Subject Re: Linux 4.2.4
Date 2015-10-25 21:00 +0100
Message-ID <qnzCq-76e-7@gated-at.bofh.it> (permalink)
References (2 earlier) <qnp0m-8fj-25@gated-at.bofh.it> <qnptn-mg-9@gated-at.bofh.it> <qnpWp-FB-11@gated-at.bofh.it> <qnq66-M5-13@gated-at.bofh.it> <qnr2a-1Dl-19@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi,

On Sun, 25 Oct 2015, Gerhard Wiesinger wrote:

> On 25.10.2015 10:46, Willy Tarreau wrote:
> > ipset *triggered* the problem. The whole stack dump would tell more. 
> 
> OK, find the stack traces in the bug report:
> https://bugzilla.redhat.com/show_bug.cgi?id=1272645
> 
> Kernel 4.1.10 triggered also a kernel dump when playing with ipset commands
> and IPv6, details in the bug report  ....

It seems to me it is an architecture-specific alignment issue. I don't 
have a Cortex-A7 ARM hardware and qemu doesn't seem to support it either, 
so I'm unable to reproduce it (ipset passes all my tests on my hardware, 
including more complex ones than what breaks here). My first wild guess is 
that the dynamic array of the element structure is not aligned properly. 
Could you give a try to the next patch?

diff --git a/net/netfilter/ipset/ip_set_hash_gen.h b/net/netfilter/ipset/ip_set_hash_gen.h
index afe905c..1cf357d 100644
--- a/net/netfilter/ipset/ip_set_hash_gen.h
+++ b/net/netfilter/ipset/ip_set_hash_gen.h
@@ -1211,6 +1211,9 @@ static const struct ip_set_type_variant mtype_variant = {
 	.same_set = mtype_same_set,
 };
 
+#define IP_SET_BASE_ALIGN(dtype)	\
+	ALIGN(sizeof(struct dtype), __alignof__(struct dtype))
+
 #ifdef IP_SET_EMIT_CREATE
 static int
 IPSET_TOKEN(HTYPE, _create)(struct net *net, struct ip_set *set,
@@ -1319,12 +1322,12 @@ IPSET_TOKEN(HTYPE, _create)(struct net *net, struct ip_set *set,
 #endif
 		set->variant = &IPSET_TOKEN(HTYPE, 4_variant);
 		set->dsize = ip_set_elem_len(set, tb,
-				sizeof(struct IPSET_TOKEN(HTYPE, 4_elem)));
+				IP_SET_BASE_ALIGN(IPSET_TOKEN(HTYPE, 4_elem)));
 #ifndef IP_SET_PROTO_UNDEF
 	} else {
 		set->variant = &IPSET_TOKEN(HTYPE, 6_variant);
 		set->dsize = ip_set_elem_len(set, tb,
-				sizeof(struct IPSET_TOKEN(HTYPE, 6_elem)));
+				IP_SET_BASE_ALIGN(IPSET_TOKEN(HTYPE, 6_elem)));
 	}
 #endif
 	if (tb[IPSET_ATTR_TIMEOUT]) {

If that does not solve it, then could you help to narrow down the issue? 
Does the bug still appear if your remove the counter extension of the set?

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

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Linux 4.2.4 Greg KH <gregkh@linuxfoundation.org> - 2015-10-23 02:40 +0200
  Re: Linux 4.2.4 Gerhard Wiesinger <lists@wiesinger.com> - 2015-10-25 08:40 +0100
    Re: Linux 4.2.4 Greg KH <gregkh@linuxfoundation.org> - 2015-10-25 09:40 +0100
      Re: Linux 4.2.4 Willy Tarreau <w@1wt.eu> - 2015-10-25 10:10 +0100
        Re: Linux 4.2.4 Gerhard Wiesinger <lists@wiesinger.com> - 2015-10-25 10:40 +0100
          Re: Linux 4.2.4 Willy Tarreau <w@1wt.eu> - 2015-10-25 10:50 +0100
            Re: Linux 4.2.4 Gerhard Wiesinger <lists@wiesinger.com> - 2015-10-25 11:50 +0100
              Re: Linux 4.2.4 Greg KH <gregkh@linuxfoundation.org> - 2015-10-25 17:40 +0100
                Re: Linux 4.2.4 Gerhard Wiesinger <lists@wiesinger.com> - 2015-10-25 18:20 +0100
              Re: Linux 4.2.4 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> - 2015-10-25 21:00 +0100
                Re: Linux 4.2.4 Gerhard Wiesinger <lists@wiesinger.com> - 2015-10-25 21:10 +0100
                Re: Linux 4.2.4 Gerhard Wiesinger <lists@wiesinger.com> - 2015-10-25 22:30 +0100
                Re: Linux 4.2.4 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> - 2015-10-25 23:00 +0100
                Re: Linux 4.2.4 Gerhard Wiesinger <lists@wiesinger.com> - 2015-10-26 08:30 +0100
                Re: Linux 4.2.4 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> - 2015-10-26 10:00 +0100
                Re: Linux 4.2.4 Gerhard Wiesinger <lists@wiesinger.com> - 2015-10-26 10:20 +0100
      Re: Linux 4.2.4 Gerhard Wiesinger <lists@wiesinger.com> - 2015-10-25 10:10 +0100

csiph-web