Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

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

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.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.next->prev 4096-ptr_max
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
PARAM_VALUE 0 msk->sk_lock.slock.rlock.dep_map->name 0-255
PARAM_VALUE 1 addr 5338451053750079488
PARAM_VALUE 1 addr->id 0
PARAM_VALUE 2 echo 0
CAPPED_DATA 0 msk 1
CAPPED_DATA 0 msk->__sk_common.skc_net.net 1
CAPPED_DATA 0 msk->__sk_common.skc_net.net->gen 1
DATA_SOURCE 0 msk $0
BIT_INFO 0 msk->pm.addr_signal 0x0,0xfe
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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_announce_addr()

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
PARAM_VALUE 1 addr 7183862770233733120
PARAM_VALUE 2 echo 1
CAPPED_DATA 0 msk 1
CAPPED_DATA 0 msk->__sk_common.skc_net.net 1
DATA_SOURCE 0 msk $0
PREEMPT_ADD
NOCHECK_CALL
LOCK2 bh
LOCK2 sk
LOCK2 0 &msk->pm.lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/pm_userspace.c mptcp_pm_nl_announce_doit() -> mptcp_pm_announce_addr()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PARAM_VALUE 0 msk->__sk_common.skc_refcnt.refs.counter s32min-s32max
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.next->prev 4096-ptr_max
PARAM_VALUE 0 msk->pm.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 msk->pm.pm_type 1
PARAM_VALUE 0 msk->pm.userspace_pm_local_addr_list.prev 4096-ptr_max
PARAM_VALUE 0 msk->pm.userspace_pm_local_addr_list.prev->next 4096-ptr_max
PARAM_VALUE 0 msk->sk_lock.owned 1
PARAM_VALUE 0 msk->sk_lock.slock.rlock.dep_map->name 0-255
PARAM_VALUE 0 msk->sk_lock.wq.head.prev 4096-ptr_max
PARAM_VALUE 0 msk->sk_lock.wq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 msk->sk_lock.wq.head.prev->next->next 4096-ptr_max
PARAM_VALUE 0 msk->sk_omem_alloc.counter s32min-s32max
PARAM_VALUE 1 addr 5299063288652222480
PARAM_VALUE 1 addr->family 2,10
PARAM_VALUE 2 echo 0
CAPPED_DATA 0 msk->__sk_common.skc_net.net 1
CAPPED_DATA 0 msk->__sk_common.skc_net.net->gen 1
DATA_SOURCE 0 msk r mptcp_userspace_pm_get_sock
MEM_ZERO 1 addr
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 sk
LOCK2 0 &msk->pm.lock
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
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.c mptcp_pm_add_addr_received() -> mptcp_pm_announce_addr()

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 1
PARAM_VALUE 1 addr 2735155083520082004
PARAM_VALUE 2 echo 1
CAPPED_DATA 0 msk->__sk_common.skc_net.net 1
DATA_SOURCE 1 addr $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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_add_addr_received() -> mptcp_pm_announce_addr()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PARAM_VALUE 0 msk->pm.accept_addr 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 1 addr 2735155083520082004
PARAM_VALUE 2 echo 1
DATA_SOURCE 1 addr $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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_add_addr_timer() -> mptcp_pm_announce_addr()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PARAM_VALUE 0 msk->__sk_common.skc_net.net 4096-ptr_max
PARAM_VALUE 0 msk->__sk_common.skc_net.net->gen 4096-ptr_max
PARAM_VALUE 0 msk->__sk_common.skc_state 0-6,8-255
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
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 echo 0
CAPPED_DATA 0 msk->__sk_common.skc_net.net 1
CAPPED_DATA 0 msk->__sk_common.skc_net.net->gen 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &sk->sk_lock.slock
LOCK2 bh
LOCK2 0 &msk->pm.lock
TYPE_LOCK (struct mptcp_pm_data)->lock
TYPE_LOCK (struct socket_lock_t)->slock