net/netrom: Fix socket locking
Patch "af_rose/x25: Sanity check the maximum user frame size"
(commit 83e0bbcbe2
) from Alan Cox got
locking wrong. If we bail out due to user frame size being too large,
we must unlock the socket beforehand.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
50b2ff1bc4
commit
cc29c70dd5
1 changed files with 4 additions and 2 deletions
|
@ -1084,8 +1084,10 @@ static int nr_sendmsg(struct kiocb *iocb, struct socket *sock,
|
||||||
|
|
||||||
/* Build a packet - the conventional user limit is 236 bytes. We can
|
/* Build a packet - the conventional user limit is 236 bytes. We can
|
||||||
do ludicrously large NetROM frames but must not overflow */
|
do ludicrously large NetROM frames but must not overflow */
|
||||||
if (len > 65536)
|
if (len > 65536) {
|
||||||
return -EMSGSIZE;
|
err = -EMSGSIZE;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
SOCK_DEBUG(sk, "NET/ROM: sendto: building packet.\n");
|
SOCK_DEBUG(sk, "NET/ROM: sendto: building packet.\n");
|
||||||
size = len + NR_NETWORK_LEN + NR_TRANSPORT_LEN;
|
size = len + NR_NETWORK_LEN + NR_TRANSPORT_LEN;
|
||||||
|
|
Loading…
Reference in a new issue