Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

net/mptcp/protocol.c __mptcp_subflow_push_pending() -> mptcp_subflow_delegate()

Type Parameter Key Value
PARAM_VALUE 0 subflow 4096-ptr_max
PARAM_VALUE 0 subflow->scheduled 1
PARAM_VALUE 1 action 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 &ssk->sk_lock.slock

net/mptcp/protocol.c mptcp_propagate_sndbuf() -> mptcp_subflow_delegate()

Type Parameter Key Value
PARAM_VALUE 0 subflow 4096-ptr_max
PARAM_VALUE 1 action 3
DATA_SOURCE 0 subflow r mptcp_subflow_ctx
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
HALF_LOCKED2 &ssk->sk_lock.slock
HALF_LOCKED2 ssk

net/mptcp/options.c mptcp_established_options_mp() -> mptcp_subflow_delegate()

Type Parameter Key Value
PARAM_VALUE 0 subflow 4096-ptr_max
PARAM_VALUE 0 subflow->conn 4096-ptr_max
PARAM_VALUE 0 subflow->fully_established 0
PARAM_VALUE 0 subflow->mp_capable 0
PARAM_VALUE 0 subflow->mp_join 1
PARAM_VALUE 1 action 2
CAPPED_DATA 0 subflow->snd_isn 1
DATA_SOURCE 0 subflow r mptcp_subflow_ctx
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sk->sk_callback_lock
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/mptcp/subflow.c mptcp_propagate_sndbuf() -> mptcp_subflow_delegate()

Type Parameter Key Value
PARAM_VALUE 0 subflow 4096-ptr_max
PARAM_VALUE 1 action 3
DATA_SOURCE 0 subflow r mptcp_subflow_ctx
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 bh