Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/tipc/monitor.c mon_timeout() -> mon_assign_roles()

Type Parameter Key Value
PARAM_VALUE 0 mon 4096-ptr_max
PARAM_VALUE 0 mon->self 4096-ptr_max
PARAM_VALUE 1 head 4096-ptr_max
CAPPED_DATA 0 mon->peer_cnt 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &mon->lock
TYPE_LOCK (struct tipc_monitor)->lock

net/tipc/monitor.c tipc_mon_peer_down() -> mon_assign_roles()

Type Parameter Key Value
PARAM_VALUE 0 mon 4096-ptr_max
DATA_SOURCE 0 mon r tipc_monitor
DATA_SOURCE 1 head r peer_head
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &mon->lock
HALF_LOCKED2 &tn->node_list_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct tipc_monitor)->lock

net/tipc/monitor.c tipc_mon_peer_up() -> mon_assign_roles()

Type Parameter Key Value
PARAM_VALUE 0 mon 4096-ptr_max
PARAM_VALUE 1 head 4096-ptr_max
CAPPED_DATA 1 head 1
DATA_SOURCE 0 mon r tipc_monitor
DATA_SOURCE 1 head r peer_head
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &mon->lock
HALF_LOCKED2 &tn->node_list_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct tipc_monitor)->lock

net/tipc/monitor.c tipc_mon_rcv() -> mon_assign_roles()

Type Parameter Key Value
PARAM_VALUE 0 mon 4096-ptr_max
PARAM_VALUE 1 head 4096-ptr_max
DATA_SOURCE 0 mon r tipc_monitor
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &mon->lock
HALF_LOCKED2 &le->lock
HALF_LOCKED2 &n->lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct tipc_monitor)->lock

net/tipc/monitor.c tipc_mon_remove_peer() -> mon_assign_roles()

Type Parameter Key Value
PARAM_VALUE 0 mon 4096-ptr_max
PARAM_VALUE 1 head 4096-ptr_max
CAPPED_DATA 0 mon->peer_cnt 1
CAPPED_DATA 1 head 1
DATA_SOURCE 0 mon r tipc_monitor
DATA_SOURCE 1 head r peer_head
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 rcu_read
LOCK2 0 &mon->lock
TYPE_LOCK (struct tipc_monitor)->lock