Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

net/mptcp/pm_kernel.c fill_local_addresses_vec_c_flag() -> mptcp_pm_get_limit_extra_subflows()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PARAM_VALUE 0 msk->pm.extra_subflows 0-254
PARAM_VALUE 0 msk->pm.local_addr_used 0
PARAM_VALUE 0 msk->pm.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 msk->pm.remote_deny_join_id0 1
PARAM_VALUE 0 msk->sk_lock.owned 1
PARAM_VALUE 0 msk->sk_lock.slock.rlock.dep_map->name 0-255
CAPPED_DATA 0 msk->__sk_common.skc_net.net 1
CAPPED_DATA 0 msk->pm.extra_subflows 1
DATA_SOURCE 0 msk $0
PREEMPT_ADD
LOCK2 &pool->lock
LOCK2 bh
LOCK2 sk
LOCK2 0 &msk->pm.lock
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/pm_kernel.c fill_local_addresses_vec_fullmesh() -> mptcp_pm_get_limit_extra_subflows()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PARAM_VALUE 0 msk->pm.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 msk->sk_lock.owned 1
PARAM_VALUE 0 msk->sk_lock.slock.rlock.dep_map->name 0-255
CAPPED_DATA 0 msk->__sk_common.skc_net.net 1
DATA_SOURCE 0 msk $0
PREEMPT_ADD
LOCK2 &pool->lock
LOCK2 bh
LOCK2 sk
LOCK2 0 &msk->pm.lock
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/pm_kernel.c fill_remote_addresses_fullmesh() -> mptcp_pm_get_limit_extra_subflows()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PARAM_VALUE 0 msk->__sk_common.skc_state 1
PARAM_VALUE 0 msk->pm.extra_subflows 0-254
PARAM_VALUE 0 msk->pm.id_avail_bitmap 4096-ptr_max
PARAM_VALUE 0 msk->pm.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 msk->sk_lock.owned 1
CAPPED_DATA 0 msk->__sk_common.skc_net.net 1
CAPPED_DATA 0 msk->pm.extra_subflows 1
DATA_SOURCE 0 msk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 sk
LOCK2 0 &msk->pm.lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/pm_kernel.c mptcp_pm_add_addr_c_flag_case() -> mptcp_pm_get_limit_extra_subflows()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PARAM_VALUE 0 msk->pm.local_addr_used 0
PARAM_VALUE 0 msk->pm.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 msk->pm.remote_deny_join_id0 1
PARAM_VALUE 0 msk->sk_lock.owned 1
PARAM_VALUE 0 msk->sk_lock.slock.rlock.dep_map->name 0-255
CAPPED_DATA 0 msk 1
CAPPED_DATA 0 msk->__sk_common.skc_net.net 1
DATA_SOURCE 0 msk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 sk
LOCK2 0 &msk->pm.lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/pm_kernel.c mptcp_pm_create_subflow_or_signal_addr() -> mptcp_pm_get_limit_extra_subflows()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PARAM_VALUE 0 msk->pm.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 msk->sk_lock.owned 1
PARAM_VALUE 0 msk->sk_lock.slock.rlock.dep_map->name 0-255
CAPPED_DATA 0 msk 1
DATA_SOURCE 0 msk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 sk
LOCK2 0 &msk->pm.lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/pm_kernel.c mptcp_pm_nl_add_addr_received() -> mptcp_pm_get_limit_extra_subflows()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PARAM_VALUE 0 msk->pm.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 msk->pm.status 0,2-254
PARAM_VALUE 0 msk->sk_lock.owned 1
PARAM_VALUE 0 msk->sk_lock.slock.rlock.dep_map->name 0-255
CAPPED_DATA 0 msk 1
CAPPED_DATA 0 msk->__sk_common.skc_net.net 1
DATA_SOURCE 0 msk $0
PREEMPT_ADD
LOCK2 bh
LOCK2 sk
LOCK2 0 &msk->pm.lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/pm_kernel.c mptcp_pm_nl_check_work_pending() -> mptcp_pm_get_limit_extra_subflows()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PARAM_VALUE 0 msk->__sk_common.skc_state 1
PARAM_VALUE 0 msk->pm.lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 msk 1
CAPPED_DATA 0 msk->__sk_common.skc_net.net 1
DATA_SOURCE 0 msk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte
LOCK2 bh
HALF_LOCKED2 &pm->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 sk
HALF_LOCKED2 0 &msk->pm.lock
TYPE_LOCK (struct mptcp_pm_data)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PARAM_VALUE 0 msk->__sk_common.skc_state 0-9,11-255
PARAM_VALUE 0 msk->pm.pm_type 0
DATA_SOURCE 0 msk $0
RX_PATH
TASK_NOT_RUNNING

net/mptcp/protocol.c __mptcp_pm_close_subflow() -> mptcp_pm_get_limit_extra_subflows()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PARAM_VALUE 0 msk->__sk_common.skc_state 1
PARAM_VALUE 0 msk->allow_subflows 0
PARAM_VALUE 0 msk->fallback_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 msk->join_list.prev 4096-ptr_max
PARAM_VALUE 0 msk->join_list.prev->next 4096-ptr_max
PARAM_VALUE 0 msk->join_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 msk->pm.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 msk->sk_lock.owned 0
PARAM_VALUE 0 msk->sk_lock.slock.rlock.dep_map->name 0-255
CAPPED_DATA 0 msk->__sk_common.skc_net.net 1
DATA_SOURCE 0 msk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte
LOCK2 bh
LOCK2 0 &msk->pm.lock
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/pm.c __mptcp_pm_close_subflow() -> mptcp_pm_get_limit_extra_subflows()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PARAM_VALUE 0 msk->pm.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 msk->pm.pm_type 0,2-255
DATA_SOURCE 0 msk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk 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_c_flag_case() -> mptcp_pm_get_limit_extra_subflows()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PARAM_VALUE 0 msk->pm.accept_addr 0
PARAM_VALUE 0 msk->pm.local_addr_used 0
PARAM_VALUE 0 msk->pm.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 msk->pm.pm_type 0,2-255
PARAM_VALUE 0 msk->pm.remote_deny_join_id0 1
CAPPED_DATA 0 msk->__sk_common.skc_net.net 1
DATA_SOURCE 0 msk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte
LOCK2 &pm->lock
LOCK2 bh
HALF_LOCKED2 &ssk->sk_lock.slock
HALF_LOCKED2 ssk
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/pm.c mptcp_pm_allow_new_subflow() -> mptcp_pm_get_limit_extra_subflows()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PARAM_VALUE 0 msk->__sk_common.skc_state 1
PARAM_VALUE 0 msk->pm.pm_type 0,2-255
DATA_SOURCE 0 msk $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte

net/mptcp/pm.c mptcp_pm_data_reset() -> mptcp_pm_get_limit_extra_subflows()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PARAM_VALUE 0 msk->allow_infinite_fallback 1
PARAM_VALUE 0 msk->allow_subflows 1
PARAM_VALUE 0 msk->backlog_len 0
PARAM_VALUE 0 msk->backlog_list.next 4096-ptr_max
PARAM_VALUE 0 msk->backlog_list.next->next 4096-ptr_max
PARAM_VALUE 0 msk->backlog_list.prev 4096-ptr_max
PARAM_VALUE 0 msk->backlog_list.prev->next 4096-ptr_max
PARAM_VALUE 0 msk->backlog_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 msk->pm.anno_list.next 4096-ptr_max
PARAM_VALUE 0 msk->pm.anno_list.next->next 4096-ptr_max
PARAM_VALUE 0 msk->pm.anno_list.prev 4096-ptr_max
PARAM_VALUE 0 msk->pm.anno_list.prev->next 4096-ptr_max
PARAM_VALUE 0 msk->pm.anno_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 msk->pm.rm_list_rx.nr 0
PARAM_VALUE 0 msk->pm.rm_list_tx.nr 0
PARAM_VALUE 0 msk->recovery 0
PARAM_VALUE 0 msk->timer_ival 0-9223372036854775807
PARAM_VALUE 0 *msk->rcv_rtt_est.samples 0-4294967295
CAPPED_DATA 0 msk 1
CAPPED_DATA 0 msk->__sk_common.skc_net.net 1
DATA_SOURCE 0 msk $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte

net/mptcp/subflow.c __mptcp_pm_close_subflow() -> mptcp_pm_get_limit_extra_subflows()

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