Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

net/mptcp/pm_kernel.c mptcp_nl_remove_id_zero_address() -> mptcp_pm_remove_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 0,2-255
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 1 rm_list 7641693135154270208
PARAM_VALUE 1 rm_list->nr 1
CAPPED_DATA 0 &msk->conn_list 1
DATA_SOURCE 0 msk r mptcp_token_iter_next
PARAM_COMPARE 0 &msk->conn_list != $0->conn_list.next
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 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_kernel.c mptcp_pm_flush_addrs_and_subflows() -> mptcp_pm_remove_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.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 msk->pm.pm_type 0,2-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 rm_list 4476449430802845696
PARAM_VALUE 1 rm_list->nr 1-255
DATA_SOURCE 0 msk $0
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 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_kernel.c mptcp_pm_remove_announced() -> mptcp_pm_remove_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 0,2-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 rm_list 6852737082938961920
PARAM_VALUE 1 rm_list->nr 1
DATA_SOURCE 0 msk $0
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 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_userspace.c mptcp_pm_remove_addr_entry() -> mptcp_pm_remove_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 0 msk->sk_lock.owned 1
PARAM_VALUE 0 msk->sk_lock.slock.rlock.dep_map->name 0-255
PARAM_VALUE 1 rm_list 3557342572392509440
PARAM_VALUE 1 rm_list->nr 1
DATA_SOURCE 0 msk $0
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 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_userspace.c mptcp_userspace_pm_remove_id_zero_address() -> mptcp_pm_remove_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 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 1 rm_list 8223509701140967424
PARAM_VALUE 1 rm_list->nr 1
DATA_SOURCE 0 msk $0
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 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