netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 64k bind(0) bugfix.
@ 2009-01-19 23:21 Evgeniy Polyakov
  2009-01-19 23:24 ` David Miller
  0 siblings, 1 reply; 3+ messages in thread
From: Evgeniy Polyakov @ 2009-01-19 23:21 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

Hi.

I found the bug in bind conflict resolve path, when bundle was not
unlocked after conflict was detected, attached patch should fix it.

If testing will reveal some new problems I will return with the fix
then. Please apply or queue for the appropriate tree.

Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>

--- ./net/ipv4/inet_connection_sock.c~	2009-01-19 22:19:11.000000000 +0300
+++ ./net/ipv4/inet_connection_sock.c	2009-01-19 22:21:08.000000000 +0300
@@ -172,8 +172,10 @@
 		} else {
 			ret = 1;
 			if (inet_csk(sk)->icsk_af_ops->bind_conflict(sk, tb)) {
-				if (sk->sk_reuse && sk->sk_state != TCP_LISTEN && --attempts >= 0)
+				if (sk->sk_reuse && sk->sk_state != TCP_LISTEN && --attempts >= 0) {
+					spin_unlock(&head->lock);
 					goto again;
+				}
 				goto fail_unlock;
 			}
 		}


-- 
	Evgeniy Polyakov

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-01-19 23:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-19 23:21 64k bind(0) bugfix Evgeniy Polyakov
2009-01-19 23:24 ` David Miller
2009-01-19 23:26   ` Evgeniy Polyakov

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).