[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20111102191621.GF5971@hostway.ca>
Date: Wed, 2 Nov 2011 12:16:21 -0700
From: Simon Kirby <sim@...tway.ca>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: Thomas Gleixner <tglx@...utronix.de>,
David Miller <davem@...emloft.net>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Dave Jones <davej@...hat.com>,
Martin Schwidefsky <schwidefsky@...ibm.com>,
Ingo Molnar <mingo@...e.hu>,
Network Development <netdev@...r.kernel.org>
Subject: Re: Linux 3.1-rc9
On Wed, Nov 02, 2011 at 06:58:21PM +0100, Eric Dumazet wrote:
> Le mercredi 02 novembre 2011 ?? 18:49 +0100, Eric Dumazet a ??crit :
> > Le mercredi 02 novembre 2011 ?? 18:27 +0100, Eric Dumazet a ??crit :
> >
> > > I believe it might come from commit 0e734419
> > > (ipv4: Use inet_csk_route_child_sock() in DCCP and TCP.)
> > >
> > > In case inet_csk_route_child_sock() returns NULL, we dont release socket
> > > lock.
> > >
> > >
> >
> > Yes, thats the problem. I am testing following patch :
> >
> > diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
> > index 0ea10ee..683d97a 100644
> > --- a/net/ipv4/tcp_ipv4.c
> > +++ b/net/ipv4/tcp_ipv4.c
> > @@ -1510,6 +1510,7 @@ exit:
> > NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_LISTENDROPS);
> > return NULL;
> > put_and_exit:
> > + bh_unlock_sock(newsk);
> > sock_put(newsk);
> > goto exit;
> > }
> >
>
>
> This indeed solves the problem, but more closer inspection is needed to
> close all bugs, not this only one.
>
> # netstat -s
> Ip:
> 6961157 total packets received
> 0 forwarded
> 0 incoming packets discarded
> 6961157 incoming packets delivered
> 6961049 requests sent out
> 2 dropped because of missing route //// HERE, this is the origin
Actually, we have an anti-abuse daemon that injects blackhole routes, so
this makes sense. (The daemon was written before ipsets were merged and
normal netfilter rules make it fall over under attack.)
I'll try with this patch. Thanks!
Simon-
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists