From 2ed25f5e0104780b0c993202cad9524abbf460c3 Mon Sep 17 00:00:00 2001 From: andrew hendry Date: Tue, 14 Sep 2010 13:31:38 +0000 Subject: [PATCH] --- yaml --- r: 214520 b: refs/heads/master c: 90c27297a9bfb8ea11c0e3f73ad90c4c66e8501e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/x25/af_x25.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index d8bdd8a4aa75..f740590780ba 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 25aa4efe4feb4150fe613169795df505c5018f2b +refs/heads/master: 90c27297a9bfb8ea11c0e3f73ad90c4c66e8501e diff --git a/trunk/net/x25/af_x25.c b/trunk/net/x25/af_x25.c index f6a8f175b4f5..bd6fce31a738 100644 --- a/trunk/net/x25/af_x25.c +++ b/trunk/net/x25/af_x25.c @@ -688,7 +688,6 @@ static int x25_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) struct sockaddr_x25 *addr = (struct sockaddr_x25 *)uaddr; int len, i, rc = 0; - lock_kernel(); if (!sock_flag(sk, SOCK_ZAPPED) || addr_len != sizeof(struct sockaddr_x25) || addr->sx25_family != AF_X25) { @@ -704,12 +703,13 @@ static int x25_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) } } + lock_sock(sk); x25_sk(sk)->source_addr = addr->sx25_addr; x25_insert_socket(sk); sock_reset_flag(sk, SOCK_ZAPPED); + release_sock(sk); SOCK_DEBUG(sk, "x25_bind: socket is bound\n"); out: - unlock_kernel(); return rc; }