Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

rxrpc: Remove some socket lock acquire/release annotations

Remove some socket lock acquire/release annotations as lock_sock() and
release_sock() don't have them and so the checker gets confused. Removing
all of them, however, causes warnings about "context imbalance" and "wrong
count at exit" to occur instead.

Probably lock_sock() and release_sock() should have annotations on
indicating their taking of sk_lock - there is a dep_map in socket_lock_t,
but I don't know if that matters to the static checker.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: Simon Horman <horms@kernel.org>
cc: linux-afs@lists.infradead.org
Link: https://patch.msgid.link/20250411095303.2316168-4-dhowells@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

David Howells and committed by
Jakub Kicinski
019c8433 23738cc8

+5 -4
+3 -1
net/rxrpc/ar-internal.h
··· 1000 1000 struct rxrpc_call *rxrpc_new_client_call(struct rxrpc_sock *, 1001 1001 struct rxrpc_conn_parameters *, 1002 1002 struct rxrpc_call_params *, gfp_t, 1003 - unsigned int); 1003 + unsigned int) 1004 + __releases(&rx->sk.sk_lock) 1005 + __acquires(&call->user_mutex); 1004 1006 void rxrpc_start_call_timer(struct rxrpc_call *call); 1005 1007 void rxrpc_incoming_call(struct rxrpc_sock *, struct rxrpc_call *, 1006 1008 struct sk_buff *);
+1 -1
net/rxrpc/call_object.c
··· 322 322 struct rxrpc_call_params *p, 323 323 gfp_t gfp, 324 324 unsigned int debug_id) 325 - __releases(&rx->sk.sk_lock.slock) 325 + __releases(&rx->sk.sk_lock) 326 326 __acquires(&call->user_mutex) 327 327 { 328 328 struct rxrpc_call *call, *xcall;
+1 -2
net/rxrpc/sendmsg.c
··· 607 607 static struct rxrpc_call * 608 608 rxrpc_new_client_call_for_sendmsg(struct rxrpc_sock *rx, struct msghdr *msg, 609 609 struct rxrpc_send_params *p) 610 - __releases(&rx->sk.sk_lock.slock) 610 + __releases(&rx->sk.sk_lock) 611 611 __acquires(&call->user_mutex) 612 612 { 613 613 struct rxrpc_conn_parameters cp; ··· 657 657 * - the socket may be either a client socket or a server socket 658 658 */ 659 659 int rxrpc_do_sendmsg(struct rxrpc_sock *rx, struct msghdr *msg, size_t len) 660 - __releases(&rx->sk.sk_lock.slock) 661 660 { 662 661 struct rxrpc_call *call; 663 662 bool dropped_lock = false;