[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20160421.134252.2090014694706317498.davem@davemloft.net>
Date: Thu, 21 Apr 2016 13:42:52 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: joe@....org
Cc: netdev@...r.kernel.org, fw@...len.de,
netfilter-devel@...r.kernel.org, diproiettod@...are.com,
pablo@...filter.org
Subject: Re: [PATCHv2 net] openvswitch: Orphan skbs before IPv6 defrag
From: Joe Stringer <joe@....org>
Date: Mon, 18 Apr 2016 14:51:47 -0700
> This is the IPv6 counterpart to commit 8282f27449bf ("inet: frag: Always
> orphan skbs inside ip_defrag()").
>
> Prior to commit 029f7f3b8701 ("netfilter: ipv6: nf_defrag: avoid/free
> clone operations"), ipv6 fragments sent to nf_ct_frag6_gather() would be
> cloned (implicitly orphaning) prior to queueing for reassembly. As such,
> when the IPv6 message is eventually reassembled, the skb->sk for all
> fragments would be NULL. After that commit was introduced, rather than
> cloning, the original skbs were queued directly without orphaning. The
> end result is that all frags except for the first and last may have a
> socket attached.
>
> This commit explicitly orphans such skbs during nf_ct_frag6_gather() to
> prevent BUG_ON(skb->sk) during a later call to ip6_fragment().
...
> Fixes: 029f7f3b8701 ("netfilter: ipv6: nf_defrag: avoid/free clone
> operations")
> Reported-by: Daniele Di Proietto <diproiettod@...are.com>
> Signed-off-by: Joe Stringer <joe@....org>
Applied and queued up for -stable, thanks.
Powered by blists - more mailing lists