lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 4 Jun 2008 09:42:58 +0300 (EEST) From: "Ilpo Järvinen" <ilpo.jarvinen@...sinki.fi> To: Patrick McManus <mcmanus@...ksong.com> cc: David Miller <davem@...emloft.net>, mingo@...e.hu, peterz@...radead.org, LKML <linux-kernel@...r.kernel.org>, Netdev <netdev@...r.kernel.org>, rjw@...k.pl, Andrew Morton <akpm@...ux-foundation.org>, johnpol@....mipt.ru Subject: Re: [fixed] [patch] Re: [bug] stuck localhost TCP connections, v2.6.26-rc3+ On Tue, 3 Jun 2008, Patrick McManus wrote: > On Wed, 2008-06-04 at 02:22 +0300, Ilpo Järvinen wrote: > == > > -- > > [PATCH] tcp DEFER_ACCEPT: fix racy access to listen_sk > > > > It seems that replacement of DA code also moved parts outside > > of appropriate locking. The Ingo's problem seems to come from > > the fact that two flows could now race in > > (inet_csk_)reqsk_queue_add corrupting the queue. ...This can > > leave dangling socks around which won't resolve themselves > > without stimuli from outside (e.g., external RST would help > > I think). > do_rcv() clearly has the listening socket locked in the non-DA case, and > in the DA case it is the 'child' ESTABLISHED socket that is locked - > leaving the accept queue unprotected. So simple. It also well explains why Ingo finally got the KERNEL: assertion (!sk->sk_ack_backlog) which is adjusted in the very same reqsk_queue_add making it and the actual queue come out of sync. ...too bad this has no relevance to Håkon's case, so more digging is necessary... :-) -- i.
Powered by blists - more mailing lists