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:
Родитель
50b2ff1bc4
Коммит
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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче