From: Florian Zumbiehl Date: Tue, 31 Jul 2007 00:49:13 +0000 (-0700) Subject: [PPPoE]: move lock_sock() in pppoe_sendmsg() to the right location X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=8aeca8fea5f2de2563e097829d62af30ca2de650;p=deliverable%2Flinux.git [PPPoE]: move lock_sock() in pppoe_sendmsg() to the right location and the last one for now: Acquire the sock lock in pppoe_sendmsg() before accessing the sock - and in particular avoid releasing the lock even though it hasn't been acquired. Signed-off-by: Florian Zumbiehl Signed-off-by: David S. Miller --- diff --git a/drivers/net/pppoe.c b/drivers/net/pppoe.c index f75aeaaf861f..35a7385ccb2a 100644 --- a/drivers/net/pppoe.c +++ b/drivers/net/pppoe.c @@ -774,6 +774,7 @@ static int pppoe_sendmsg(struct kiocb *iocb, struct socket *sock, struct net_device *dev; char *start; + lock_sock(sk); if (sock_flag(sk, SOCK_DEAD) || !(sk->sk_state & PPPOX_CONNECTED)) { error = -ENOTCONN; goto end; @@ -784,8 +785,6 @@ static int pppoe_sendmsg(struct kiocb *iocb, struct socket *sock, hdr.code = 0; hdr.sid = po->num; - lock_sock(sk); - dev = po->pppoe_dev; error = -EMSGSIZE;