linux/net/rxrpc
David Howells 1ec0a7d5b0 rxrpc: Fix missing unlock in rxrpc_do_sendmsg()
[ Upstream commit 4feb2c4462 ]

One of the error paths in rxrpc_do_sendmsg() doesn't unlock the call mutex
before returning.  Fix it to do this.

Note that this still doesn't get rid of the checker warning:

   ../net/rxrpc/sendmsg.c:617:5: warning: context imbalance in 'rxrpc_do_sendmsg' - wrong count at exit

I think the interplay between the socket lock and the call's user_mutex may
be too complicated for checker to analyse, especially as
rxrpc_new_client_call_for_sendmsg(), which it calls, returns with the
call's user_mutex if successful but unconditionally drops the socket lock.

Fixes: e754eba685 ("rxrpc: Provide a cmsg to specify the amount of Tx data for a call")
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-12-31 13:14:39 +01:00
..
Kconfig
Makefile
af_rxrpc.c
ar-internal.h rxrpc: Fix race between conn bundle lookup and bundle removal [ZDI-CAN-15975] 2022-12-02 17:41:04 +01:00
call_accept.c
call_event.c
call_object.c
conn_client.c rxrpc: Fix race between conn bundle lookup and bundle removal [ZDI-CAN-15975] 2022-12-02 17:41:04 +01:00
conn_event.c
conn_object.c
conn_service.c
input.c
insecure.c
key.c
local_event.c
local_object.c
misc.c
net_ns.c
output.c rxrpc: Fix ack.bufferSize to be 0 when generating an ack 2022-12-31 13:14:09 +01:00
peer_event.c
peer_object.c
proc.c
protocol.h
recvmsg.c
rtt.c
rxkad.c
security.c
sendmsg.c rxrpc: Fix missing unlock in rxrpc_do_sendmsg() 2022-12-31 13:14:39 +01:00
server_key.c
skbuff.c
sysctl.c
utils.c