net/netrom: Fix socket locking
Patch "af_rose/x25: Sanity check the maximum user frame size" (commit 83e0bbcbe2145f160fbaa109b0439dae7f4a38a9) 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
@ -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
|
||||
do ludicrously large NetROM frames but must not overflow */
|
||||
if (len > 65536)
|
||||
return -EMSGSIZE;
|
||||
if (len > 65536) {
|
||||
err = -EMSGSIZE;
|
||||
goto out;
|
||||
}
|
||||
|
||||
SOCK_DEBUG(sk, "NET/ROM: sendto: building packet.\n");
|
||||
size = len + NR_NETWORK_LEN + NR_TRANSPORT_LEN;
|
||||
|
Loading…
x
Reference in New Issue
Block a user