aboutsummaryrefslogtreecommitdiffstats
path: root/net/rxrpc/sendmsg.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2018-03-30 16:05:17 -0400
committerDavid Howells <dhowells@redhat.com>2018-03-30 16:05:17 -0400
commit88f2a8257c9aa7df957b1a79a104f348d60d8027 (patch)
treed2caa88668da0142f6f3b8478a0d17620240c765 /net/rxrpc/sendmsg.c
parentedb63e2b271752a9424a3d33cfcd4f434a020f9b (diff)
rxrpc: Fix checker warnings and errors
Fix various issues detected by checker. Errors: (*) rxrpc_discard_prealloc() should be using rcu_assign_pointer to set call->socket. Warnings: (*) rxrpc_service_connection_reaper() should be passing NULL rather than 0 to trace_rxrpc_conn() as the where argument. (*) rxrpc_disconnect_client_call() should get its net pointer via the call->conn rather than call->sock to avoid a warning about accessing an RCU pointer without protection. (*) Proc seq start/stop functions need annotation as they pass locks between the functions. False positives: (*) Checker doesn't correctly handle of seq-retry lock context balance in rxrpc_find_service_conn_rcu(). (*) Checker thinks execution may proceed past the BUG() in rxrpc_publish_service_conn(). (*) Variable length array warnings from SKCIPHER_REQUEST_ON_STACK() in rxkad.c. Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'net/rxrpc/sendmsg.c')
-rw-r--r--net/rxrpc/sendmsg.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/rxrpc/sendmsg.c b/net/rxrpc/sendmsg.c
index 783c777fc6e7..a62980a80151 100644
--- a/net/rxrpc/sendmsg.c
+++ b/net/rxrpc/sendmsg.c
@@ -556,6 +556,7 @@ static struct rxrpc_call *
556rxrpc_new_client_call_for_sendmsg(struct rxrpc_sock *rx, struct msghdr *msg, 556rxrpc_new_client_call_for_sendmsg(struct rxrpc_sock *rx, struct msghdr *msg,
557 struct rxrpc_send_params *p) 557 struct rxrpc_send_params *p)
558 __releases(&rx->sk.sk_lock.slock) 558 __releases(&rx->sk.sk_lock.slock)
559 __acquires(&call->user_mutex)
559{ 560{
560 struct rxrpc_conn_parameters cp; 561 struct rxrpc_conn_parameters cp;
561 struct rxrpc_call *call; 562 struct rxrpc_call *call;
@@ -596,6 +597,7 @@ rxrpc_new_client_call_for_sendmsg(struct rxrpc_sock *rx, struct msghdr *msg,
596 */ 597 */
597int rxrpc_do_sendmsg(struct rxrpc_sock *rx, struct msghdr *msg, size_t len) 598int rxrpc_do_sendmsg(struct rxrpc_sock *rx, struct msghdr *msg, size_t len)
598 __releases(&rx->sk.sk_lock.slock) 599 __releases(&rx->sk.sk_lock.slock)
600 __releases(&call->user_mutex)
599{ 601{
600 enum rxrpc_call_state state; 602 enum rxrpc_call_state state;
601 struct rxrpc_call *call; 603 struct rxrpc_call *call;