[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090119232151.GA13659@ioremap.net>
Date: Tue, 20 Jan 2009 02:21:51 +0300
From: Evgeniy Polyakov <zbr@...emap.net>
To: David Miller <davem@...emloft.net>
Cc: netdev@...r.kernel.org
Subject: 64k bind(0) bugfix.
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@...emap.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
--
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