Documented in 1 files:

Defined in 1 files as a function:

Referenced in 15 files:

Smatch caller information:

net/ipv4/tcp_ipv4.c get_tcp4_sock() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
DATA_SOURCE 0 sk $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &f->lock
TYPE_LOCK (struct seq_file)->lock

net/ipv4/tcp_diag.c tcp_diag_get_info() -> inet_sk_state_load()

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

net/mptcp/pm_kernel.c fill_local_laminar_endp() -> inet_sk_state_load()

Type Parameter Key Value
PREEMPT_ADD
LOCK2 &msk->pm.lock
LOCK2 &pool->lock
LOCK2 bh
LOCK2 sk
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/pm_kernel.c has_subflow_daddr() -> inet_sk_state_load()

Type Parameter Key Value
PREEMPT_ADD
LOCK2 &msk->pm.lock
LOCK2 &pool->lock
LOCK2 bh
LOCK2 sk
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/pm_kernel.c mptcp_is_fully_established() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
DATA_SOURCE 0 sk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &msk->pm.lock
LOCK2 bh
LOCK2 sk
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/sockopt.c __mptcp_has_initial_subflow() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 1-u64max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sk unit_byte
LOCK2 sk

net/mptcp/sockopt.c mptcp_diag_fill_info() -> inet_sk_state_load()

Type Parameter Key Value
DATA_SOURCE 0 sk $0
RX_PATH
TASK_NOT_RUNNING

net/mptcp/sched.c __tcp_can_send() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 1-u64max
DATA_SOURCE 0 sk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sk unit_byte
HALF_LOCKED2 bh

net/ipv4/tcp.c tcp_abort() -> inet_sk_state_load()

Type Parameter Key Value
DATA_SOURCE 0 sk $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sk unit_byte

net/ipv4/tcp.c tcp_get_info() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
DATA_SOURCE 0 sk $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sk unit_byte
HALF_LOCKED2 sk

net/ipv4/tcp.c tcp_poll() -> inet_sk_state_load()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sk unit_byte
HALF_LOCKED2 &pool->lock

net/mptcp/protocol.c __mptcp_close_ssk() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 1-u64max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sk unit_byte
HALF_LOCKED2 sk

net/mptcp/protocol.c __mptcp_close_subflow() -> inet_sk_state_load()

Type Parameter Key Value
LOCK2 sk
HALF_LOCKED2 &pool->lock

net/mptcp/protocol.c __mptcp_close_subflow() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
DATA_SOURCE 0 sk $0
LOCK2 0 sk
HALF_LOCKED2 &pool->lock

net/mptcp/protocol.c __mptcp_subflow_error_report() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
DATA_SOURCE 0 sk $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 sk->sk_prot_creator->twsk_prot->twsk_slab->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->data_len
UNITS 0 sk unit_byte
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 bh
HALF_LOCKED2 0 sk

net/mptcp/protocol.c __tcp_can_send() -> inet_sk_state_load()

Type Parameter Key Value
BUF_SIZE 0 sk->__sk_common.skc_prot (-1),448
DATA_SOURCE 0 sk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.head->end
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.head->len
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.head->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.head->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.len
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->end
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->len
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->end
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->end
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->next->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->truesize
UNITS 0 sk unit_byte
HALF_LOCKED2 0 sk
HALF_LOCKED2 0 &sk->sk_lock.slock

net/mptcp/protocol.c mptcp_check_listen_stop() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
BUF_SIZE 0 sk->__sk_common.skc_prot (-1),448
DATA_SOURCE 0 sk $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->end
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->end
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->truesize
UNITS 0 sk unit_byte
HALF_LOCKED2 0 sk
HALF_LOCKED2 0 &sk->sk_lock.slock

net/mptcp/protocol.c mptcp_check_listen_stop() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 1-u64max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sk unit_byte
HALF_LOCKED2 sk

net/mptcp/protocol.c mptcp_is_fully_established() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
DATA_SOURCE 0 sk $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sk unit_byte

net/mptcp/protocol.c mptcp_listen() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
CAPPED_DATA 0 sk 1
DATA_SOURCE 0 sk r __mptcp_nmpc_sk
RX_PATH
TASK_NOT_RUNNING
LOCK2 sk
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 global &ls_lock
HALF_LOCKED2 global &o2nm_cluster_group.cs_subsys.su_mutex
HALF_LOCKED2 global &pernet_ops_rwsem

net/mptcp/protocol.c mptcp_pending_data_fin() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
DATA_SOURCE 0 sk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sk unit_byte
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 bh
HALF_LOCKED2 0 sk

net/mptcp/protocol.c mptcp_poll() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sk unit_byte
HALF_LOCKED2 &pool->lock

net/mptcp/protocol.c mptcp_reset_rtx_timer() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
CAPPED_DATA 0 sk 1
DATA_SOURCE 0 sk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->end
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->end
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->next->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->truesize
UNITS 0 sk unit_byte
HALF_LOCKED2 bh
HALF_LOCKED2 ssk
HALF_LOCKED2 0 sk
HALF_LOCKED2 0 &sk->sk_lock.slock

net/mptcp/protocol.c mptcp_schedule_work() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
BUF_SIZE 0 sk (-1),1480
BUF_SIZE 0 sk (-1),1480
CAPPED_DATA 0 sk 1
DATA_SOURCE 0 sk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->end
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->end
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->next->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->truesize
UNITS 0 sk unit_byte
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 bh
HALF_LOCKED2 ssk
HALF_LOCKED2 0 sk
HALF_LOCKED2 0 &sk->sk_lock.slock

net/mptcp/protocol.c mptcp_stream_accept() -> inet_sk_state_load()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sk unit_byte
LOCK2 newsk

net/mptcp/protocol.c tcp_can_send_ack() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
DATA_SOURCE 0 sk $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 sk
HALF_LOCKED2 sk

net/ipv4/inet_connection_sock.c reqsk_timer_handler() -> inet_sk_state_load()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sk unit_byte

net/tls/tls_main.c tls_sk_poll() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sk unit_byte
HALF_LOCKED2 &pool->lock

net/mptcp/pm.c __tcp_can_send() -> inet_sk_state_load()

Type Parameter Key Value
DATA_SOURCE 0 sk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &msk->pm.lock
HALF_LOCKED2 bh
HALF_LOCKED2 sk

net/mptcp/pm.c mptcp_is_fully_established() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
DATA_SOURCE 0 sk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sk unit_byte
LOCK2 &pm->lock
LOCK2 bh
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 sk
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/pm.c mptcp_pm_add_addr_timer() -> inet_sk_state_load()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &sk->sk_lock.slock
TYPE_LOCK (struct socket_lock_t)->slock

net/mptcp/pm.c mptcp_pm_rm_addr_or_subflow() -> inet_sk_state_load()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &msk->pm.lock
LOCK2 bh
LOCK2 sk
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/mptcp_diag.c mptcp_diag_get_info() -> inet_sk_state_load()

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

net/ipv6/tcp_ipv6.c get_tcp6_sock() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
DATA_SOURCE 0 sk $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &seq->lock
TYPE_LOCK (struct seq_file)->lock

net/ipv4/inet_timewait_sock.c inet_twsk_purge() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &pernet_ops_rwsem
LOCK2 global &tcp_exit_batch_mutex
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock

net/mptcp/subflow.c mptcp_is_fully_established() -> inet_sk_state_load()

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

net/mptcp/subflow.c subflow_data_ready() -> inet_sk_state_load()

Type Parameter Key Value
DATA_SOURCE 0 sk $0

net/mptcp/subflow.c subflow_sched_work_if_closed() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
DATA_SOURCE 0 sk $0
PREEMPT_ADD
UNITS 0 sk unit_byte

net/mptcp/subflow.c tcp_abort_override() -> inet_sk_state_load()

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

net/mptcp/diag.c subflow_get_info() -> inet_sk_state_load()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
DATA_SOURCE 0 sk $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ilb->lock