Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

net/mptcp/pm_kernel.c mptcp_nl_add_subflow_or_signal_addr() -> mptcp_pm_is_userspace()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
DATA_SOURCE 0 msk r mptcp_token_iter_next
RX_PATH
TASK_NOT_RUNNING
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

net/mptcp/pm_kernel.c mptcp_nl_flush_addrs_list() -> mptcp_pm_is_userspace()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
DATA_SOURCE 0 msk r mptcp_token_iter_next
RX_PATH
TASK_NOT_RUNNING
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

net/mptcp/pm_kernel.c mptcp_nl_remove_id_zero_address() -> mptcp_pm_is_userspace()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
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
RX_PATH
TASK_NOT_RUNNING
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

net/mptcp/pm_kernel.c mptcp_nl_remove_subflow_and_signal_addr() -> mptcp_pm_is_userspace()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
DATA_SOURCE 0 msk r mptcp_token_iter_next
RX_PATH
TASK_NOT_RUNNING
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

net/mptcp/pm_kernel.c mptcp_pm_nl_set_flags_all() -> mptcp_pm_is_userspace()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
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
RX_PATH
TASK_NOT_RUNNING
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
HALF_LOCKED2 subflow->tcp_sock

net/mptcp/pm_userspace.c mptcp_userspace_pm_get_sock() -> mptcp_pm_is_userspace()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
DATA_SOURCE 0 msk r mptcp_token_get_sock
RX_PATH
TASK_NOT_RUNNING

net/mptcp/pm.c mptcp_pm_add_addr_received() -> mptcp_pm_is_userspace()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PREEMPT_ADD <- disables preempt
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_is_userspace()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
DATA_SOURCE 0 msk $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte

net/mptcp/pm.c mptcp_pm_get_local_id() -> mptcp_pm_is_userspace()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
DATA_SOURCE 0 msk $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte
HALF_LOCKED2 rcu_read

net/mptcp/pm.c mptcp_pm_is_backup() -> mptcp_pm_is_userspace()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
DATA_SOURCE 0 msk $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte
HALF_LOCKED2 rcu_read

net/mptcp/pm.c mptcp_pm_subflow_check_next() -> mptcp_pm_is_userspace()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
DATA_SOURCE 0 msk $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte
HALF_LOCKED2 sk

net/mptcp/subflow.c mptcp_can_accept_new_subflow() -> mptcp_pm_is_userspace()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
DATA_SOURCE 0 msk $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read