diff options
author | Alexey Kuznetsov <kuznet@ms2.inr.ac.ru> | 2006-03-17 16:05:43 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-03-17 16:05:43 -0800 |
commit | 265a92856b17524c87da0258ac0d3cec80ae1d35 (patch) | |
tree | 31ebb3ef3c990ea64a1b93a1785d2abafe8534ec | |
parent | 6f5e6b9e69bf043074a0edabe3d271899c34eb79 (diff) | |
download | op-kernel-dev-265a92856b17524c87da0258ac0d3cec80ae1d35.zip op-kernel-dev-265a92856b17524c87da0258ac0d3cec80ae1d35.tar.gz |
[NET]: Fix race condition in sk_wait_event().
It is broken, the condition is checked out of socket lock. It is
wonderful the bug survived for so long time.
[ This fixes bugzilla #6233:
race condition in tcp_sendmsg when connection became established ]
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/net/sock.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/net/sock.h b/include/net/sock.h index 3075803..f63d0d5 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -478,9 +478,9 @@ static inline void sk_add_backlog(struct sock *sk, struct sk_buff *skb) rc = __condition; \ if (!rc) { \ *(__timeo) = schedule_timeout(*(__timeo)); \ - rc = __condition; \ } \ lock_sock(__sk); \ + rc = __condition; \ rc; \ }) |