summaryrefslogtreecommitdiffstats
path: root/net/ipv6/raw.c
diff options
context:
space:
mode:
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2007-09-15 01:45:40 +0200
committerDavid S. Miller <davem@davemloft.net>2007-09-15 01:45:40 +0200
commit3ef9d943d26dea764f4fecf3767001c90b778b0c (patch)
treef1fab72a4de636b6019374380dfb3afc9b3f9888 /net/ipv6/raw.c
parent[NET_SCHED] protect action config/dump from irqs (diff)
downloadlinux-3ef9d943d26dea764f4fecf3767001c90b778b0c.tar.xz
linux-3ef9d943d26dea764f4fecf3767001c90b778b0c.zip
[IPV6]: Fix unbalanced socket reference with MSG_CONFIRM.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/raw.c')
-rw-r--r--net/ipv6/raw.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
index e27383d855de..77167afa3455 100644
--- a/net/ipv6/raw.c
+++ b/net/ipv6/raw.c
@@ -882,11 +882,10 @@ back_from_confirm:
ip6_flush_pending_frames(sk);
else if (!(msg->msg_flags & MSG_MORE))
err = rawv6_push_pending_frames(sk, &fl, rp);
+ release_sock(sk);
}
done:
dst_release(dst);
- if (!inet->hdrincl)
- release_sock(sk);
out:
fl6_sock_release(flowlabel);
return err<0?err:len;