From: Lorenzo Colitti Date: Wed, 3 Jul 2013 15:52:49 +0000 (+0900) Subject: net: ipv6: add missing lock in ping_v6_sendmsg X-Git-Tag: firefly_0821_release~4090^2~398 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b918c72ce27090051ac9681bfd162abcec0abceb;p=firefly-linux-kernel-4.4.55.git net: ipv6: add missing lock in ping_v6_sendmsg [net-next commit a1bdc45580fc19e968b32ad27cd7e476a4aa58f6] Bug: 12800827 Change-Id: I93d897e5043dc89bc99f111c89ef4f8b1fa1885d Signed-off-by: Lorenzo Colitti Signed-off-by: David S. Miller --- diff --git a/net/ipv6/ping.c b/net/ipv6/ping.c index 1f4886857b44..858788da5a2f 100644 --- a/net/ipv6/ping.c +++ b/net/ipv6/ping.c @@ -197,6 +197,7 @@ int ping_v6_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, if (hlimit < 0) hlimit = ip6_dst_hoplimit(dst); + lock_sock(sk); err = ip6_append_data(sk, ping_getfrag, &pfh, len, 0, hlimit, np->tclass, NULL, &fl6, rt, @@ -211,6 +212,7 @@ int ping_v6_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, (struct icmp6hdr *) &pfh.icmph, len); } + release_sock(sk); if (err) return err;