From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shan Wei Subject: Re: [PATCH 1/2] IPv6: conntrack: Use protocol-related initialization routine to initial queues of IPv6 connection track Date: Tue, 26 Jan 2010 20:40:38 +0800 Message-ID: <4B5EE2C6.6010802@cn.fujitsu.com> References: <4B5E53EE.9010703@cn.fujitsu.com> <20100125.233254.35824860.davem@davemloft.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: kaber@trash.net, yasuyuki.kozakai@toshiba.co.jp, netfilter-devel@vger.kernel.org, netdev@vger.kernel.org To: David Miller Return-path: Received: from cn.fujitsu.com ([222.73.24.84]:60716 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1753434Ab0AZMmA convert rfc822-to-8bit (ORCPT ); Tue, 26 Jan 2010 07:42:00 -0500 In-Reply-To: <20100125.233254.35824860.davem@davemloft.net> Sender: netfilter-devel-owner@vger.kernel.org List-ID: David Miller wrote, at 01/26/2010 03:32 PM: > From: Shan Wei > Date: Tue, 26 Jan 2010 10:31:10 +0800 >=20 >> IPv6 connection track and IPv6 stack separately use a different queu= e to=20 >> manage received fragments. The former uses nf_ct_frag6_queue structu= re,=20 >> the latter uses frag_queue structure. >> >> When creating new queue for IPv6 connection track, ip6_frag_init()=20 >> that belongs to IPv6 stack is called to initial nf_ct_frag6_queue st= ructure.=20 >> This broken the saddr&daddr member in nf_ct_frag6_queue, and then ha= sh value=20 >> generated by nf_hashfn() is not equal with that generated by fq_find= ().=20 >> So, a new received fragment can't be inserted to right queue. >> =20 >> The patch fixes the bug with protocol-related initialization routine= =2E >> The patch-set have been tested. >> >> Signed-off-by: Shan Wei >=20 > This breakage was recently introduced by: >=20 > commit 0b5ccb2ee250136dd7385b1c7da28417d0d4d32d > Author: Patrick McHardy > Date: Tue Dec 15 16:59:18 2009 +0100 >=20 > ipv6: reassembly: use seperate reassembly queues for conntrack an= d local delivery Yes, this patch adds user member to frag_queue structure=EF=BC=8Cbut no= t to nf_ct_frag6_queue structure. Please ignore the patch-set.=20 Can you apply the following patch(bug-fix) to your net-tree? -- [PATCH]IPv6: conntrack: Add member of user to nf_ct_frag6_queue struct= ure The commit 0b5ccb2(title:ipv6: reassembly: use seperate reassembly queu= es for=20 conntrack and local delivery) has broken the saddr&&daddr member of=20 nf_ct_frag6_queue when creating new queue. And then hash value generated by nf_hashfn() was not equal with that generated by fq_find()= =2E=20 So, a new received fragment can't be inserted to right queue. The patch fixes the bug with adding member of user to nf_ct_frag6_queue= structure. Signed-off-by: Shan Wei --- net/ipv6/netfilter/nf_conntrack_reasm.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilt= er/nf_conntrack_reasm.c index 312c20a..624a548 100644 --- a/net/ipv6/netfilter/nf_conntrack_reasm.c +++ b/net/ipv6/netfilter/nf_conntrack_reasm.c @@ -63,6 +63,7 @@ struct nf_ct_frag6_queue struct inet_frag_queue q; =20 __be32 id; /* fragment id */ + u32 user; struct in6_addr saddr; struct in6_addr daddr; =20 --=20 1.6.3.3 =20 -- To unsubscribe from this list: send the line "unsubscribe netfilter-dev= el" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html