Skip to content

Commit 4feb2c4

Browse files
dhowellsdavem330
authored andcommitted
rxrpc: Fix missing unlock in rxrpc_do_sendmsg()
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: e754eba ("rxrpc: Provide a cmsg to specify the amount of Tx data for a call") Signed-off-by: David Howells <[email protected]> cc: Marc Dionne <[email protected]> cc: [email protected] Signed-off-by: David S. Miller <[email protected]>
1 parent 9cd3fd2 commit 4feb2c4

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

net/rxrpc/sendmsg.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -625,7 +625,7 @@ int rxrpc_do_sendmsg(struct rxrpc_sock *rx, struct msghdr *msg, size_t len)
625625
if (call->tx_total_len != -1 ||
626626
call->tx_pending ||
627627
call->tx_top != 0)
628-
goto error_put;
628+
goto out_put_unlock;
629629
call->tx_total_len = p.call.tx_total_len;
630630
}
631631
}

0 commit comments

Comments
 (0)