* Re: netfilter: nf_conntrack: there maybe a bug in __nf_conntrack_confirm, when it race against get_next_corpse
[not found] <012601cff7d1$7ce2d620$76a88260$@gmail.com>
@ 2014-11-06 13:00 ` Jesper Dangaard Brouer
2014-11-06 13:36 ` [PATCH nf] netfilter: conntrack: fix race in __nf_conntrack_confirm " Jesper Dangaard Brouer
1 sibling, 0 replies; 8+ messages in thread
From: Jesper Dangaard Brouer @ 2014-11-06 13:00 UTC (permalink / raw)
To: billbonaparte
Cc: fw, linux-kernel, Pablo Neira Ayuso, Patrick McHardy, kadlec,
davem, Changli Gao, Andrey Vagin, brouer,
netfilter-devel@vger.kernel.org, netdev@vger.kernel.org
On Tue, 4 Nov 2014 09:48:32 +0800
"billbonaparte" <programme110@gmail.com> wrote:
> (sorry to send this e-mail again, last mail is rejected by server due to
> non-acceptable content)
There is several issues with your submission. I'll take care of
resubmitting a patch in your name (so you will get credit in the git
log).
If you care to know, issues are:
1. you are not sending to the appropriate mailing lists,
2. patch is as an attachment (should be inlined),
3. the patch have style and white-space issues.
> Florian Westphal [mailto:fw@strlen.de] wrote:
> >Correct. This is broken since the central spin lock removal, since
> >nf_conntrack_lock no longer protects both get_next_corpse and
> >conntrack_confirm.
> >
> >Please send a patch, moving dying check after removal of conntrack from
> >the percpu list,
>
> Since unconfirmed conntrack is stored in unconfirmed-list which is per-cpu
> list and protected by per-cpu spin-lock, we can remove it from
> uncomfirmed-list and insert it into ct-hash-table separately. that is to
> say, we can remove it from uncomfirmed-list without holding corresponding
> hash-lock, then check if it is dying.
> if it is dying, we add it to the dying-list, then quit
> __nf_conntrack_confirm. we do this to follow the rules that the conntrack
> must alternatively at unconfirmed-list or dying-list when it is abort to be
> destroyed.
In the resubmit. I'll take a slightly more conservative approach, by
keeping the DYING check under the hash-lock, as it is currently. I
guess we could do it without holding the hash-lock, but I want to keep
the fix as simple as possible.
> >> 2. operation on ct->status should be atomic, because it race aginst
> >> get_next_corpse.
[...]
> if there is a race at operating ct->status, there will be in alternative
> case:
> 1) IPS_DYING bit which set in get_next_corpse override other bits (e.g.
> IPS_SRC_NAT_DONE_BIT), or
> 2) other bits (e.g. IPS_SRC_NAT_DONE_BIT) which set in nf_nat_setup_info
> override IPS_DYING bit.
Notice the set_bit() is atomic, so we don't have these issues (of bits
getting overridden).
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Sr. Network Kernel Developer at Red Hat
Author of http://www.iptv-analyzer.org
LinkedIn: http://www.linkedin.com/in/brouer
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH nf] netfilter: conntrack: fix race in __nf_conntrack_confirm against get_next_corpse
[not found] <012601cff7d1$7ce2d620$76a88260$@gmail.com>
2014-11-06 13:00 ` netfilter: nf_conntrack: there maybe a bug in __nf_conntrack_confirm, when it race against get_next_corpse Jesper Dangaard Brouer
@ 2014-11-06 13:36 ` Jesper Dangaard Brouer
2014-11-10 16:54 ` Pablo Neira Ayuso
1 sibling, 1 reply; 8+ messages in thread
From: Jesper Dangaard Brouer @ 2014-11-06 13:36 UTC (permalink / raw)
To: Jesper Dangaard Brouer, Pablo Neira Ayuso, programme110,
netfilter-devel
Cc: Florian Westphal, netdev
From: bill bonaparte <programme110@gmail.com>
After removal of the central spinlock nf_conntrack_lock, in
commit 93bb0ceb75be2 ("netfilter: conntrack: remove central
spinlock nf_conntrack_lock"), it is possible to race against
get_next_corpse().
The race is against the get_next_corpse() cleanup on
the "unconfirmed" list (a per-cpu list with seperate locking),
which set the DYING bit.
Fix this race, in __nf_conntrack_confirm(), by removing the CT
from unconfirmed list before checking the DYING bit. In case
race occured, re-add the CT to the dying list.
Fixes: 93bb0ceb75be2 ("netfilter: conntrack: remove central spinlock nf_conntrack_lock")
Reported-by: bill bonaparte <programme110@gmail.com>
Signed-off-by: bill bonaparte <programme110@gmail.com>
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
---
net/netfilter/nf_conntrack_core.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
index 5016a69..1072650 100644
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
@@ -611,12 +611,15 @@ __nf_conntrack_confirm(struct sk_buff *skb)
*/
NF_CT_ASSERT(!nf_ct_is_confirmed(ct));
pr_debug("Confirming conntrack %p\n", ct);
- /* We have to check the DYING flag inside the lock to prevent
+
+ /* We have to check the DYING flag after unlink to prevent
a race against nf_ct_get_next_corpse() possibly called from
user context, else we insert an already 'dead' hash, blocking
further use of that particular connection -JM */
+ nf_ct_del_from_dying_or_unconfirmed_list(ct);
if (unlikely(nf_ct_is_dying(ct))) {
+ nf_ct_add_to_dying_list(ct);
nf_conntrack_double_unlock(hash, reply_hash);
local_bh_enable();
return NF_ACCEPT;
@@ -636,8 +639,6 @@ __nf_conntrack_confirm(struct sk_buff *skb)
zone == nf_ct_zone(nf_ct_tuplehash_to_ctrack(h)))
goto out;
- nf_ct_del_from_dying_or_unconfirmed_list(ct);
-
/* Timer relative to confirmation time, not original
setting time, otherwise we'd get timer wrap in
weird delay cases. */
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH nf] netfilter: conntrack: fix race in __nf_conntrack_confirm against get_next_corpse
2014-11-06 13:36 ` [PATCH nf] netfilter: conntrack: fix race in __nf_conntrack_confirm " Jesper Dangaard Brouer
@ 2014-11-10 16:54 ` Pablo Neira Ayuso
2014-11-12 7:35 ` Jesper Dangaard Brouer
0 siblings, 1 reply; 8+ messages in thread
From: Pablo Neira Ayuso @ 2014-11-10 16:54 UTC (permalink / raw)
To: Jesper Dangaard Brouer
Cc: programme110, netfilter-devel, Florian Westphal, netdev
On Thu, Nov 06, 2014 at 02:36:48PM +0100, Jesper Dangaard Brouer wrote:
> From: bill bonaparte <programme110@gmail.com>
>
> After removal of the central spinlock nf_conntrack_lock, in
> commit 93bb0ceb75be2 ("netfilter: conntrack: remove central
> spinlock nf_conntrack_lock"), it is possible to race against
> get_next_corpse().
>
> The race is against the get_next_corpse() cleanup on
> the "unconfirmed" list (a per-cpu list with seperate locking),
> which set the DYING bit.
>
> Fix this race, in __nf_conntrack_confirm(), by removing the CT
> from unconfirmed list before checking the DYING bit. In case
> race occured, re-add the CT to the dying list.
This seems correct to me, some side comments.
> Fixes: 93bb0ceb75be2 ("netfilter: conntrack: remove central spinlock nf_conntrack_lock")
> Reported-by: bill bonaparte <programme110@gmail.com>
> Signed-off-by: bill bonaparte <programme110@gmail.com>
> Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
> ---
>
> net/netfilter/nf_conntrack_core.c | 7 ++++---
> 1 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
> index 5016a69..1072650 100644
> --- a/net/netfilter/nf_conntrack_core.c
> +++ b/net/netfilter/nf_conntrack_core.c
> @@ -611,12 +611,15 @@ __nf_conntrack_confirm(struct sk_buff *skb)
> */
> NF_CT_ASSERT(!nf_ct_is_confirmed(ct));
> pr_debug("Confirming conntrack %p\n", ct);
> - /* We have to check the DYING flag inside the lock to prevent
> +
> + /* We have to check the DYING flag after unlink to prevent
> a race against nf_ct_get_next_corpse() possibly called from
> user context, else we insert an already 'dead' hash, blocking
> further use of that particular connection -JM */
While at this, I think it would be good to fix comment style to:
/* We have ...
* ...
*/
I can fix this here, no need to resend, just let me know.
> + nf_ct_del_from_dying_or_unconfirmed_list(ct);
>
> if (unlikely(nf_ct_is_dying(ct))) {
> + nf_ct_add_to_dying_list(ct);
> nf_conntrack_double_unlock(hash, reply_hash);
> local_bh_enable();
> return NF_ACCEPT;
Not directly related to your patch, but I don't find a good reason why
we're accepting this packet.
If the conntrack from the unconfirmed list is dying, then the object
will be released by when the packet leaves the stack to its
destination. With stateful filtering depending in place, the follow up
packet in the reply direction will likely be considered invalid (if
tcp tracking is on). Fortunately for us, the origin will likely
retransmit the syn again, so the ct will be setup accordingly.
So, why should we allow this to go through?
This return verdict was introduced in: fc35077 ("netfilter:
nf_conntrack: fix a race in __nf_conntrack_confirm against
nf_ct_get_next_corpse()") btw.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH nf] netfilter: conntrack: fix race in __nf_conntrack_confirm against get_next_corpse
2014-11-10 16:54 ` Pablo Neira Ayuso
@ 2014-11-12 7:35 ` Jesper Dangaard Brouer
2014-11-12 10:57 ` Jörg Marx
2014-11-14 16:40 ` Pablo Neira Ayuso
0 siblings, 2 replies; 8+ messages in thread
From: Jesper Dangaard Brouer @ 2014-11-12 7:35 UTC (permalink / raw)
To: Pablo Neira Ayuso
Cc: programme110, netfilter-devel, Florian Westphal, netdev, brouer,
Patrick McHardy, Joerg Marx
On Mon, 10 Nov 2014 17:54:39 +0100
Pablo Neira Ayuso <pablo@netfilter.org> wrote:
> On Thu, Nov 06, 2014 at 02:36:48PM +0100, Jesper Dangaard Brouer wrote:
> > From: bill bonaparte <programme110@gmail.com>
> >
> > After removal of the central spinlock nf_conntrack_lock, in
> > commit 93bb0ceb75be2 ("netfilter: conntrack: remove central
> > spinlock nf_conntrack_lock"), it is possible to race against
> > get_next_corpse().
> >
> > The race is against the get_next_corpse() cleanup on
> > the "unconfirmed" list (a per-cpu list with seperate locking),
> > which set the DYING bit.
> >
> > Fix this race, in __nf_conntrack_confirm(), by removing the CT
> > from unconfirmed list before checking the DYING bit. In case
> > race occured, re-add the CT to the dying list.
>
> This seems correct to me, some side comments.
>
> > Fixes: 93bb0ceb75be2 ("netfilter: conntrack: remove central spinlock nf_conntrack_lock")
> > Reported-by: bill bonaparte <programme110@gmail.com>
> > Signed-off-by: bill bonaparte <programme110@gmail.com>
> > Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
> > ---
> >
> > net/netfilter/nf_conntrack_core.c | 7 ++++---
> > 1 files changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
> > index 5016a69..1072650 100644
> > --- a/net/netfilter/nf_conntrack_core.c
> > +++ b/net/netfilter/nf_conntrack_core.c
> > @@ -611,12 +611,15 @@ __nf_conntrack_confirm(struct sk_buff *skb)
> > */
> > NF_CT_ASSERT(!nf_ct_is_confirmed(ct));
> > pr_debug("Confirming conntrack %p\n", ct);
> > - /* We have to check the DYING flag inside the lock to prevent
> > +
> > + /* We have to check the DYING flag after unlink to prevent
> > a race against nf_ct_get_next_corpse() possibly called from
> > user context, else we insert an already 'dead' hash, blocking
> > further use of that particular connection -JM */
>
> While at this, I think it would be good to fix comment style to:
>
> /* We have ...
> * ...
> */
>
> I can fix this here, no need to resend, just let me know.
Okay, I was just trying to keep the changes as minimal as possible, if
this should go into a stable-kernel. Your choice.
> > + nf_ct_del_from_dying_or_unconfirmed_list(ct);
> >
> > if (unlikely(nf_ct_is_dying(ct))) {
> > + nf_ct_add_to_dying_list(ct);
> > nf_conntrack_double_unlock(hash, reply_hash);
> > local_bh_enable();
> > return NF_ACCEPT;
>
> Not directly related to your patch, but I don't find a good reason why
> we're accepting this packet.
>
> If the conntrack from the unconfirmed list is dying, then the object
> will be released by when the packet leaves the stack to its
> destination. With stateful filtering depending in place, the follow up
> packet in the reply direction will likely be considered invalid (if
> tcp tracking is on). Fortunately for us, the origin will likely
> retransmit the syn again, so the ct will be setup accordingly.
>
> So, why should we allow this to go through?
True, it also seems strange to me that we accept this packet.
> This return verdict was introduced in: fc35077 ("netfilter:
> nf_conntrack: fix a race in __nf_conntrack_confirm against
> nf_ct_get_next_corpse()") btw.
And the commit does not argue why NF_ACCEPT was chosen...
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Sr. Network Kernel Developer at Red Hat
Author of http://www.iptv-analyzer.org
LinkedIn: http://www.linkedin.com/in/brouer
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH nf] netfilter: conntrack: fix race in __nf_conntrack_confirm against get_next_corpse
2014-11-12 7:35 ` Jesper Dangaard Brouer
@ 2014-11-12 10:57 ` Jörg Marx
2014-11-13 12:08 ` Pablo Neira Ayuso
2014-11-14 16:40 ` Pablo Neira Ayuso
1 sibling, 1 reply; 8+ messages in thread
From: Jörg Marx @ 2014-11-12 10:57 UTC (permalink / raw)
To: Jesper Dangaard Brouer, Pablo Neira Ayuso
Cc: programme110, netfilter-devel, Florian Westphal, netdev,
Patrick McHardy
On 12.11.2014 08:35, Jesper Dangaard Brouer wrote:
Hi,
I wrote the patch in 2010, so find some arguments below:
>>> > > + nf_ct_del_from_dying_or_unconfirmed_list(ct);
>>> > >
>>> > > if (unlikely(nf_ct_is_dying(ct))) {
>>> > > + nf_ct_add_to_dying_list(ct);
>>> > > nf_conntrack_double_unlock(hash, reply_hash);
>>> > > local_bh_enable();
>>> > > return NF_ACCEPT;
>> >
>> > Not directly related to your patch, but I don't find a good reason why
>> > we're accepting this packet.
>> >
>> > If the conntrack from the unconfirmed list is dying, then the object
>> > will be released by when the packet leaves the stack to its
>> > destination. With stateful filtering depending in place, the follow up
>> > packet in the reply direction will likely be considered invalid (if
>> > tcp tracking is on). Fortunately for us, the origin will likely
>> > retransmit the syn again, so the ct will be setup accordingly.
>> >
>> > So, why should we allow this to go through?
> True, it also seems strange to me that we accept this packet.
The raise was triggered in a scenario when we tested high-load IPsec
tunnels and flushed the conntrack hashs from userspace.
For me there is little difference in choosing DROP or ACCEPT as verdict.
The packet/skb belongs to a formerly allowed connection, most likely
this connection is still allowed (but the conntrack hash entry is about
to be removed due to userspace is flushing the conntrack table).
To minimize the impact (lost packets -> retransmit) I decided to allow
the skb in flight, so were is no lost packet at this place.
When the connection is not allowed anymore (but was allowed up to now,
because the hash entry exists), the impact is one last packet 'slipping
through'.
Today I would still decide the way I did in 2010.
>
>> > This return verdict was introduced in: fc35077 ("netfilter:
>> > nf_conntrack: fix a race in __nf_conntrack_confirm against
>> > nf_ct_get_next_corpse()") btw.
> And the commit does not argue why NF_ACCEPT was chosen...
>
> -- Best regards, Jesper Dangaard Brouer MSc.CS, Sr. Network Kernel
> Developer at Red Hat Author of http://www.iptv-analyzer.org LinkedIn:
> http://www.linkedin.com/in/brouer
best regards
Jörg Marx
--
--
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] 8+ messages in thread
* Re: [PATCH nf] netfilter: conntrack: fix race in __nf_conntrack_confirm against get_next_corpse
2014-11-12 10:57 ` Jörg Marx
@ 2014-11-13 12:08 ` Pablo Neira Ayuso
2014-11-13 14:33 ` Jörg Marx
0 siblings, 1 reply; 8+ messages in thread
From: Pablo Neira Ayuso @ 2014-11-13 12:08 UTC (permalink / raw)
To: Jörg Marx
Cc: Jesper Dangaard Brouer, programme110, netfilter-devel,
Florian Westphal, netdev, Patrick McHardy
On Wed, Nov 12, 2014 at 11:57:31AM +0100, Jörg Marx wrote:
> On 12.11.2014 08:35, Jesper Dangaard Brouer wrote:
>
> Hi,
>
> I wrote the patch in 2010, so find some arguments below:
>
> >>> > > + nf_ct_del_from_dying_or_unconfirmed_list(ct);
> >>> > >
> >>> > > if (unlikely(nf_ct_is_dying(ct))) {
> >>> > > + nf_ct_add_to_dying_list(ct);
> >>> > > nf_conntrack_double_unlock(hash, reply_hash);
> >>> > > local_bh_enable();
> >>> > > return NF_ACCEPT;
> >> >
> >> > Not directly related to your patch, but I don't find a good reason why
> >> > we're accepting this packet.
> >> >
> >> > If the conntrack from the unconfirmed list is dying, then the object
> >> > will be released by when the packet leaves the stack to its
> >> > destination. With stateful filtering depending in place, the follow up
> >> > packet in the reply direction will likely be considered invalid (if
> >> > tcp tracking is on). Fortunately for us, the origin will likely
> >> > retransmit the syn again, so the ct will be setup accordingly.
> >> >
> >> > So, why should we allow this to go through?
> > True, it also seems strange to me that we accept this packet.
>
> The raise was triggered in a scenario when we tested high-load IPsec
> tunnels and flushed the conntrack hashs from userspace.
>
> For me there is little difference in choosing DROP or ACCEPT as verdict.
> The packet/skb belongs to a formerly allowed connection, most likely
> this connection is still allowed (but the conntrack hash entry is about
> to be removed due to userspace is flushing the conntrack table).
__nf_conntrack_confirm() is only called for the first packet that we
see in a flow. If you just invoked the flush command once (which
should be the common case), then this is likely to be the first packet
of the flow (unless you already called flush anytime soon in the
past).
> To minimize the impact (lost packets -> retransmit) I decided to allow
> the skb in flight, so were is no lost packet at this place.
I understand your original motivation was to be conservative.
> When the connection is not allowed anymore (but was allowed up to now,
> because the hash entry exists), the impact is one last packet 'slipping
> through'.
The general policy in conntrack is to not drop packets, but in this
case we'll leave things in inconsistent state (ie. we will likely
receive a reply packet in response to the original packet that has no
conntrack yet).
Thanks.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH nf] netfilter: conntrack: fix race in __nf_conntrack_confirm against get_next_corpse
2014-11-13 12:08 ` Pablo Neira Ayuso
@ 2014-11-13 14:33 ` Jörg Marx
0 siblings, 0 replies; 8+ messages in thread
From: Jörg Marx @ 2014-11-13 14:33 UTC (permalink / raw)
To: Pablo Neira Ayuso
Cc: Jesper Dangaard Brouer, programme110, netfilter-devel,
Florian Westphal, netdev, Patrick McHardy
On 13.11.2014 13:08, Pablo Neira Ayuso wrote:
>> For me there is little difference in choosing DROP or ACCEPT as verdict.
>> > The packet/skb belongs to a formerly allowed connection, most likely
>> > this connection is still allowed (but the conntrack hash entry is about
>> > to be removed due to userspace is flushing the conntrack table).
> __nf_conntrack_confirm() is only called for the first packet that we
> see in a flow. If you just invoked the flush command once (which
> should be the common case), then this is likely to be the first packet
> of the flow (unless you already called flush anytime soon in the
> past).
Yes, you are right. As far as I remember it was very hard to trigger
that critical moment, when the first packet triggered the insertion into
the hash table. But the test and production systems showed this strange
behaviour, that no traffic was allowed to flow for exactly 600 seconds.
>
>> > To minimize the impact (lost packets -> retransmit) I decided to allow
>> > the skb in flight, so were is no lost packet at this place.
> I understand your original motivation was to be conservative.
Yes.
>
>> > When the connection is not allowed anymore (but was allowed up to now,
>> > because the hash entry exists), the impact is one last packet 'slipping
>> > through'.
Feel free to change the verdict, IMHO it doesn't matter at all as long
as the hash table is in a consistent state. The higher protocol layers
will deal with the missing packet.
> The general policy in conntrack is to not drop packets, but in this
> case we'll leave things in inconsistent state (ie. we will likely
> receive a reply packet in response to the original packet that has no
> conntrack yet).
Under heavy load this can happen anyway I guess?
Thanks and best regards
Jörg
--
Dipl.-Inform.
Jörg Marx
Bereichsleiter
Entwicklung Client- & Netzwerksicherheit
Geschäftsbereich Public Sector
secunet Security Networks AG
Ammonstr. 74
D-01067 Dresden, Germany
Telefon +49 201 54 54-3517
Telefax +49 201 54 54-1323
joerg.marx@secunet.com
www.secunet.com
secunet Security Networks AG
Kronprinzenstr. 30
45128 Essen, Germany
Amtsgericht Essen HRB 13615
Vorstand: Dr. Rainer Baumgart (Vors.), Thomas Pleines
Aufsichtsratsvorsitzender: Dr. Peter Zattler
--
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] 8+ messages in thread
* Re: [PATCH nf] netfilter: conntrack: fix race in __nf_conntrack_confirm against get_next_corpse
2014-11-12 7:35 ` Jesper Dangaard Brouer
2014-11-12 10:57 ` Jörg Marx
@ 2014-11-14 16:40 ` Pablo Neira Ayuso
1 sibling, 0 replies; 8+ messages in thread
From: Pablo Neira Ayuso @ 2014-11-14 16:40 UTC (permalink / raw)
To: Jesper Dangaard Brouer
Cc: programme110, netfilter-devel, Florian Westphal, netdev,
Patrick McHardy, Joerg Marx
On Wed, Nov 12, 2014 at 08:35:00AM +0100, Jesper Dangaard Brouer wrote:
> > > - /* We have to check the DYING flag inside the lock to prevent
> > > +
> > > + /* We have to check the DYING flag after unlink to prevent
> > > a race against nf_ct_get_next_corpse() possibly called from
> > > user context, else we insert an already 'dead' hash, blocking
> > > further use of that particular connection -JM */
> >
> > While at this, I think it would be good to fix comment style to:
> >
> > /* We have ...
> > * ...
> > */
> >
> > I can fix this here, no need to resend, just let me know.
>
> Okay, I was just trying to keep the changes as minimal as possible, if
> this should go into a stable-kernel. Your choice.
I'm going to take this patch including the comment style fix, I would
like to avoid specific patches to fix coding style issues, and the
first line of this comment is updated. I think the patch will be still
small to fulfill -stable rules.
I'll send a follow a patch to change the return verdict to NF_DROP to
not mix up different things.
Thanks!
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-11-14 16:40 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <012601cff7d1$7ce2d620$76a88260$@gmail.com>
2014-11-06 13:00 ` netfilter: nf_conntrack: there maybe a bug in __nf_conntrack_confirm, when it race against get_next_corpse Jesper Dangaard Brouer
2014-11-06 13:36 ` [PATCH nf] netfilter: conntrack: fix race in __nf_conntrack_confirm " Jesper Dangaard Brouer
2014-11-10 16:54 ` Pablo Neira Ayuso
2014-11-12 7:35 ` Jesper Dangaard Brouer
2014-11-12 10:57 ` Jörg Marx
2014-11-13 12:08 ` Pablo Neira Ayuso
2014-11-13 14:33 ` Jörg Marx
2014-11-14 16:40 ` Pablo Neira Ayuso
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).