Lines Matching refs:rx

34 static int rxrpc_service_prealloc_one(struct rxrpc_sock *rx,
42 struct rxrpc_net *rxnet = rxrpc_net(sock_net(&rx->sk));
48 max = rx->sk.sk_max_ack_backlog;
49 tmp = rx->sk.sk_ack_backlog;
74 peer = rxrpc_alloc_peer(rx->local, gfp, rxrpc_peer_new_prealloc);
98 call = rxrpc_alloc_call(rx, gfp, debug_id);
108 write_lock(&rx->call_lock);
111 pp = &rx->calls.rb_node;
133 rb_insert_color(&call->sock_node, &rx->calls);
136 list_add(&call->sock_link, &rx->sock_calls);
138 write_unlock(&rx->call_lock);
151 write_unlock(&rx->call_lock);
161 int rxrpc_service_prealloc(struct rxrpc_sock *rx, gfp_t gfp)
163 struct rxrpc_backlog *b = rx->backlog;
169 rx->backlog = b;
178 void rxrpc_discard_prealloc(struct rxrpc_sock *rx)
180 struct rxrpc_backlog *b = rx->backlog;
181 struct rxrpc_net *rxnet = rxrpc_net(sock_net(&rx->sk));
186 rx->backlog = NULL;
191 spin_lock(&rx->incoming_lock);
192 spin_unlock(&rx->incoming_lock);
221 rcu_assign_pointer(call->socket, rx);
222 if (rx->discard_new_call) {
224 rx->discard_new_call(call, call->user_call_ID);
230 rxrpc_release_call(rx, call);
242 static struct rxrpc_call *rxrpc_alloc_incoming_call(struct rxrpc_sock *rx,
250 struct rxrpc_backlog *b = rx->backlog;
294 rxrpc_new_incoming_connection(rx, conn, sec, skb);
338 struct rxrpc_sock *rx;
352 rx = local->service;
353 if (!rx || (sp->hdr.serviceId != rx->srx.srx_service &&
354 sp->hdr.serviceId != rx->second_service)
363 sec = rxrpc_get_incoming_security(rx, skb);
368 spin_lock(&rx->incoming_lock);
369 if (rx->sk.sk_state == RXRPC_SERVER_LISTEN_DISABLED ||
370 rx->sk.sk_state == RXRPC_CLOSE) {
376 call = rxrpc_alloc_incoming_call(rx, local, peer, conn, sec, peer_srx,
387 rxrpc_incoming_call(rx, call, skb);
390 if (rx->notify_new_call)
391 rx->notify_new_call(&rx->sk, call, call->user_call_ID);
401 spin_unlock(&rx->incoming_lock);
424 spin_unlock(&rx->incoming_lock);
436 int rxrpc_user_charge_accept(struct rxrpc_sock *rx, unsigned long user_call_ID)
438 struct rxrpc_backlog *b = rx->backlog;
440 if (rx->sk.sk_state == RXRPC_CLOSE)
443 return rxrpc_service_prealloc_one(rx, b, NULL, NULL, user_call_ID,
469 struct rxrpc_sock *rx = rxrpc_sk(sock->sk);
470 struct rxrpc_backlog *b = rx->backlog;
475 return rxrpc_service_prealloc_one(rx, b, notify_rx,