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 __lookup_addr() -> mptcp_addresses_equal()

Type Parameter Key Value
PARAM_VALUE 0 a 4096-ptr_max
PARAM_VALUE 1 b 477377904430747648,3392365740670631952,8257036975411060752,8420085961667780608
DATA_SOURCE 1 b $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &msk->pm.lock
HALF_LOCKED2 &pernet->lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
HALF_LOCKED2 sk

net/mptcp/pm_kernel.c has_subflow_daddr() -> mptcp_addresses_equal()

Type Parameter Key Value
PARAM_VALUE 0 a 1851573054117621760
PARAM_VALUE 1 b 7183862770233733120
DATA_SOURCE 1 b $1
PREEMPT_ADD
LOCK2 &msk->pm.lock
LOCK2 &pool->lock
LOCK2 bh
LOCK2 sk
TYPE_LOCK (struct mptcp_pm_data)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 a 4096-ptr_max
PARAM_VALUE 1 b 9204019283260858368
DATA_SOURCE 0 a $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &msk->pm.lock
LOCK2 bh
LOCK2 sk
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_nl_remove_id_zero_address() -> mptcp_addresses_equal()

Type Parameter Key Value
PARAM_VALUE 0 a 7510241720549138432
PARAM_VALUE 1 b 6040979595664490512
PARAM_VALUE 1 b->family 0,2,10
PARAM_VALUE 1 b->port 0
PARAM_VALUE 2 use_port 0
DATA_SOURCE 1 b $1
MEM_ZERO 1 b
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_append_new_local_addr() -> mptcp_addresses_equal()

Type Parameter Key Value
PARAM_VALUE 0 a 4096-ptr_max
PARAM_VALUE 1 b 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &pernet->lock
LOCK2 bh
TYPE_LOCK (struct pm_nl_pernet)->lock

net/mptcp/pm_userspace.c mptcp_userspace_pm_append_new_local_addr() -> mptcp_addresses_equal()

Type Parameter Key Value
PARAM_VALUE 0 a 4096-ptr_max
PARAM_VALUE 1 b 5299063288652222480,8254482148101976080,8257036975411060752
PARAM_VALUE 2 use_port 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &msk->pm.lock
LOCK2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/pm_userspace.c mptcp_userspace_pm_lookup_addr() -> mptcp_addresses_equal()

Type Parameter Key Value
PARAM_VALUE 0 a 4096-ptr_max
PARAM_VALUE 1 b 477377904430747648,3392365740670631952,5942369124366024720,8254482148101976080,8257036975411060752
PARAM_VALUE 2 use_port 0
DATA_SOURCE 1 b $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &msk->pm.lock
LOCK2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/pm.c mptcp_pm_announced_has_ssk() -> mptcp_addresses_equal()

Type Parameter Key Value
PARAM_VALUE 0 a 4096-ptr_max
PARAM_VALUE 1 b 4967239871326158848
PARAM_VALUE 2 use_port 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &msk->pm.lock
LOCK2 bh
HALF_LOCKED2 &ssk->sk_lock.slock
HALF_LOCKED2 rcu_read
HALF_LOCKED2 ssk
TYPE_LOCK (struct mptcp_pm_data)->lock

net/mptcp/pm.c mptcp_pm_announced_lookup() -> mptcp_addresses_equal()

Type Parameter Key Value
PARAM_VALUE 0 a 4096-ptr_max
PARAM_VALUE 1 b 4096-ptr_max
PARAM_VALUE 2 use_port 1
DATA_SOURCE 1 b $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &msk->pm.lock
LOCK2 bh
HALF_LOCKED2 rcu_read
HALF_LOCKED2 sk
TYPE_LOCK (struct mptcp_pm_data)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 a 2823268168473010176
PARAM_VALUE 1 b 8257036975411060752
PARAM_VALUE 1 b->id 0
PARAM_VALUE 2 use_port 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

net/mptcp/pm.c mptcp_pm_has_subflow_saddr() -> mptcp_addresses_equal()

Type Parameter Key Value
PARAM_VALUE 0 a 68964858442747904
PARAM_VALUE 1 b 4096-ptr_max
BUF_SIZE 1 b (-1),24
BUF_SIZE 1 b (-1),24
DATA_SOURCE 1 b $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 sk
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.c mptcp_pm_is_init_remote_addr() -> mptcp_addresses_equal()

Type Parameter Key Value
PARAM_VALUE 0 a 8843327352817721344
PARAM_VALUE 1 b 2735155083520082004
PARAM_VALUE 1 b->id 0
DATA_SOURCE 1 b $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
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_mp_prio_send_ack() -> mptcp_addresses_equal()

Type Parameter Key Value
PARAM_VALUE 0 a 5530483218501914624
PARAM_VALUE 1 b 3392365740670631952
DATA_SOURCE 1 b $1
MEM_ZERO 1 b
RX_PATH
TASK_NOT_RUNNING
LOCK2 sk
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.c mptcp_pm_mp_prio_send_ack() -> mptcp_addresses_equal()

Type Parameter Key Value
PARAM_VALUE 0 a 5103697395759525888
PARAM_VALUE 1 b 6185116974988754944
PARAM_VALUE 1 b->addr.s_addr 0
PARAM_VALUE 1 b->family 2,10
PARAM_VALUE 1 b->id 0
PARAM_VALUE 1 b->port 0
PARAM_VALUE 2 use_port 0
DATA_SOURCE 1 b $2
MEM_ZERO 1 b
RX_PATH
TASK_NOT_RUNNING
LOCK2 sk
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