[IPV6] RAW: Don't release unlocked sock.
When user builds IPv6 header and send it through raw socket, kernel tries to release unlocked sock. (Kernel log shows "BUG: bad unlock balance detected" with enabled debug option.) The lock is held only for non-hdrincl sock in this function then this patch fix to do nothing about lock for hdrincl one. Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9a217a1c7e
commit
4e33fa14fa
1 changed files with 2 additions and 1 deletions
|
@ -854,7 +854,8 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk,
|
|||
}
|
||||
done:
|
||||
dst_release(dst);
|
||||
release_sock(sk);
|
||||
if (!inet->hdrincl)
|
||||
release_sock(sk);
|
||||
out:
|
||||
fl6_sock_release(flowlabel);
|
||||
return err<0?err:len;
|
||||
|
|
Loading…
Reference in a new issue