Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

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

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

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

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

net/mptcp/pm.c subflow_in_rm_list() -> subflow_get_local_id()

Type Parameter Key Value
PARAM_VALUE 0 subflow 4096-ptr_max
DATA_SOURCE 0 subflow $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &msk->pm.lock
LOCK2 bh
LOCK2 sk
HALF_LOCKED2 &dev->ethtool->rss_lock
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/pm_netlink.c mptcp_event_add_subflow() -> subflow_get_local_id()

Type Parameter Key Value
PARAM_VALUE 0 subflow 1-u64max
DATA_SOURCE 0 subflow r mptcp_subflow_ctx
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ssk->sk_lock.slock
HALF_LOCKED2 ssk

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

Type Parameter Key Value
PARAM_VALUE 0 subflow 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
LOCK2 sk
HALF_LOCKED2 &ilb->lock