X.25 remove bkl in listen
authorandrew hendry <andrew.hendry@gmail.com>
Tue, 14 Sep 2010 13:31:16 +0000 (13:31 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 15 Sep 2010 03:34:52 +0000 (20:34 -0700)
Listen updates socket values and needs lock_sock.

Signed-off-by: Andrew Hendry <andrew.hendry@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/x25/af_x25.c

index 5e86d4e97dceb29f89ae779554b51b3f336705ef..f6a8f175b4f504dfc0f5627483982e69f79ac25c 100644 (file)
@@ -507,14 +507,14 @@ static int x25_listen(struct socket *sock, int backlog)
        struct sock *sk = sock->sk;
        int rc = -EOPNOTSUPP;
 
-       lock_kernel();
+       lock_sock(sk);
        if (sk->sk_state != TCP_LISTEN) {
                memset(&x25_sk(sk)->dest_addr, 0, X25_ADDR_LEN);
                sk->sk_max_ack_backlog = backlog;
                sk->sk_state           = TCP_LISTEN;
                rc = 0;
        }
-       unlock_kernel();
+       release_sock(sk);
 
        return rc;
 }