aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/ipv6/ipv6_sockglue.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c
index 66980d8d98d1..8d766d9100cb 100644
--- a/net/ipv6/ipv6_sockglue.c
+++ b/net/ipv6/ipv6_sockglue.c
@@ -996,13 +996,9 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
996 lock_sock(sk); 996 lock_sock(sk);
997 skb = np->pktoptions; 997 skb = np->pktoptions;
998 if (skb) 998 if (skb)
999 atomic_inc(&skb->users);
1000 release_sock(sk);
1001
1002 if (skb) {
1003 ip6_datagram_recv_ctl(sk, &msg, skb); 999 ip6_datagram_recv_ctl(sk, &msg, skb);
1004 kfree_skb(skb); 1000 release_sock(sk);
1005 } else { 1001 if (!skb) {
1006 if (np->rxopt.bits.rxinfo) { 1002 if (np->rxopt.bits.rxinfo) {
1007 struct in6_pktinfo src_info; 1003 struct in6_pktinfo src_info;
1008 src_info.ipi6_ifindex = np->mcast_oif ? np->mcast_oif : 1004 src_info.ipi6_ifindex = np->mcast_oif ? np->mcast_oif :