X.25 remove bkl in accept

Accept already has socket locking.

[ Extend socket locking over TCP_LISTEN state test. -DaveM ]

Signed-off-by: Andrew Hendry <andrew.hendry@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Andrew Hendry 2010-09-14 20:38:54 -07:00 committed by David S. Miller
parent 90c27297a9
commit 141646ce56
1 changed files with 5 additions and 3 deletions

View File

@ -869,8 +869,7 @@ static int x25_accept(struct socket *sock, struct socket *newsock, int flags)
struct sk_buff *skb; struct sk_buff *skb;
int rc = -EINVAL; int rc = -EINVAL;
lock_kernel(); if (!sk)
if (!sk || sk->sk_state != TCP_LISTEN)
goto out; goto out;
rc = -EOPNOTSUPP; rc = -EOPNOTSUPP;
@ -878,6 +877,10 @@ static int x25_accept(struct socket *sock, struct socket *newsock, int flags)
goto out; goto out;
lock_sock(sk); lock_sock(sk);
rc = -EINVAL;
if (sk->sk_state != TCP_LISTEN)
goto out2;
rc = x25_wait_for_data(sk, sk->sk_rcvtimeo); rc = x25_wait_for_data(sk, sk->sk_rcvtimeo);
if (rc) if (rc)
goto out2; goto out2;
@ -897,7 +900,6 @@ static int x25_accept(struct socket *sock, struct socket *newsock, int flags)
out2: out2:
release_sock(sk); release_sock(sk);
out: out:
unlock_kernel();
return rc; return rc;
} }