[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
|
@ -854,7 +854,8 @@ back_from_confirm:
|
||||||
}
|
}
|
||||||
done:
|
done:
|
||||||
dst_release(dst);
|
dst_release(dst);
|
||||||
release_sock(sk);
|
if (!inet->hdrincl)
|
||||||
|
release_sock(sk);
|
||||||
out:
|
out:
|
||||||
fl6_sock_release(flowlabel);
|
fl6_sock_release(flowlabel);
|
||||||
return err<0?err:len;
|
return err<0?err:len;
|
||||||
|
|
Loading…
Reference in New Issue