Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

net/rxrpc/call_event.c __rxrpc_call_is_complete() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
DATA_SOURCE 0 call $0

net/rxrpc/call_event.c rxrpc_close_tx_phase() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
PARAM_VALUE 0 call->_state 3-4,10-12
DATA_SOURCE 0 call $0

net/rxrpc/call_event.c rxrpc_input_call_event() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
DATA_SOURCE 0 call $0

net/rxrpc/call_event.c rxrpc_input_call_event() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
CAPPED_DATA 0 call->rx_queue.next 1
CAPPED_DATA 0 &call->rx_queue 1
DATA_SOURCE 0 call $0
PARAM_COMPARE 0 &call->rx_queue == $0->rx_queue.next

net/rxrpc/call_event.c rxrpc_transmit_fresh_data() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
PARAM_VALUE 0 call->_state 3-4,10-12
DATA_SOURCE 0 call $0

net/rxrpc/call_event.c rxrpc_transmit_some_data() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
DATA_SOURCE 0 call $0

net/rxrpc/call_object.c __rxrpc_call_is_complete() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
DATA_SOURCE 0 call $0
RX_PATH
TASK_NOT_RUNNING

net/rxrpc/call_object.c rxrpc_cleanup_call() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
BUF_SIZE 0 call->key (-1)-s32max
BUF_SIZE 0 call->local (-1),1744
BUF_SIZE 0 call->peer (-1),400
DATA_SOURCE 0 call $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 call->dest_srx.srx_service 0-u16max[u]
USER_DATA 0 call->rx_pkt_len 1-65534[c][u]
USER_DATA 0 call->rx_pkt_offset 0-u16max[c][u]
USER_DATA 0 call->tx_pending->alloc_size 0-1418[c]
USER_DATA 0 call->tx_pending->cksum 1-u16max[c]
USER_DATA 0 call->tx_pending->len 0-u16max[c][u]
USER_DATA 0 call->tx_pending->offset 0-u16max[c][u]
USER_DATA 0 call->tx_pending->pkt_len 0-u16max[c]
USER_DATA 0 call->tx_pending->space 0-u16max
USER_DATA 0 call->user_call_ID 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 call->hard_timo
NO_OVERFLOW_SIMPLE 0 call->rx_dec_buffer
NO_OVERFLOW_SIMPLE 0 call->rx_dec_len
HALF_LOCKED2 &rx->sk
HALF_LOCKED2 0 &call->user_mutex

net/rxrpc/call_object.c rxrpc_destroy_all_calls() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
CAPPED_DATA 0 &call->link 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rxnet->call_lock
LOCK2 global &pernet_ops_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct rxrpc_net)->call_lock

net/rxrpc/call_object.c rxrpc_put_call() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
BUF_SIZE 0 call->key (-1)-s32max
BUF_SIZE 0 call->local (-1),1744
BUF_SIZE 0 call->peer (-1),400
DATA_SOURCE 0 call $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 call->dest_srx.srx_service 0[u]
USER_DATA 0 call->rx_pkt_len 1-65534[c][u]
USER_DATA 0 call->rx_pkt_offset 0-u16max[c][u]
USER_DATA 0 call->tx_pending->alloc_size 0-1418[c]
USER_DATA 0 call->tx_pending->cksum 1-u16max[c]
USER_DATA 0 call->tx_pending->len 0-u16max[c][u]
USER_DATA 0 call->tx_pending->offset 0-u16max[c][u]
USER_DATA 0 call->tx_pending->pkt_len 0-u16max[c]
USER_DATA 0 call->tx_pending->space 0-u16max
USER_DATA 0 call->user_call_ID 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 call->hard_timo
NO_OVERFLOW_SIMPLE 0 call->rx_dec_buffer
NO_OVERFLOW_SIMPLE 0 call->rx_dec_len
HALF_LOCKED2 &rx->sk
HALF_LOCKED2 0 &call->user_mutex

net/rxrpc/input.c __rxrpc_call_is_complete() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
DATA_SOURCE 0 call $0

net/rxrpc/input.c rxrpc_congestion_degrade() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
CAPPED_DATA 0 call->rx_queue.next 1
DATA_SOURCE 0 call $0

net/rxrpc/input.c rxrpc_congestion_degrade() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
PARAM_VALUE 0 call->_state 0-3,5-u32max
CAPPED_DATA 0 call->rx_queue.next 1
DATA_SOURCE 0 call $0

net/rxrpc/input.c rxrpc_end_rx_phase() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
CAPPED_DATA 0 call->rx_oos_queue.next 1
DATA_SOURCE 0 call $0
PREEMPT_ADD
RX_PATH
LOCK2 irq
LOCK2 0 &call->recvmsg_queue.lock
TYPE_LOCK (struct sk_buff_head)->lock

net/rxrpc/input.c rxrpc_end_rx_phase() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
CAPPED_DATA 0 call->rx_oos_queue.next 1
DATA_SOURCE 0 call $0
PREEMPT_ADD
RX_PATH
LOCK2 irq
LOCK2 0 &call->recvmsg_queue.lock
TYPE_LOCK (struct sk_buff_head)->lock

net/rxrpc/input.c rxrpc_end_tx_phase() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
DATA_SOURCE 0 call $0

net/rxrpc/input.c rxrpc_end_tx_phase() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
DATA_SOURCE 0 call $0

net/rxrpc/input.c rxrpc_implicit_end_call() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
DATA_SOURCE 0 call $0

net/rxrpc/input.c rxrpc_input_ack() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
DATA_SOURCE 0 call $0

net/rxrpc/input.c rxrpc_input_ackall() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
DATA_SOURCE 0 call $0

net/rxrpc/input.c rxrpc_input_data() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
DATA_SOURCE 0 call $0

net/rxrpc/call_state.c rxrpc_set_call_completion() -> __rxrpc_call_state()

Type Parameter Key Value
PARAM_VALUE 0 call 4096-ptr_max
BUF_SIZE 0 call->rx_dec_buffer (-1),2048-u16max
DATA_SOURCE 0 call $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 call->dest_srx.srx_service 0[u]
USER_DATA 0 call->user_call_ID 0-u64max
NO_OVERFLOW_SIMPLE 0 call->hard_timo
NO_OVERFLOW_SIMPLE 0 call->rx_dec_len
HALF_LOCKED2 &conn->state_lock
HALF_LOCKED2 &local->services_lock
HALF_LOCKED2 &rx->incoming_lock
HALF_LOCKED2 irq
HALF_LOCKED2 0 &call->recvmsg_queue.lock
HALF_LOCKED2 0 &call->user_mutex