Documented in 1 files:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

net/batman-adv/bat_iv_ogm.c batadv_iv_gw_dump_entry() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 0,4096-ptr_max
PARAM_VALUE 0 gw_node->refcount.refcount.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 gw_node 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &bat_priv->gw.list_lock
LOCK2 bh
HALF_LOCKED2 &nlk->nl_cb_mutex
TYPE_LOCK (struct batadv_priv_gw)->list_lock
TYPE_LOCK (struct netlink_sock)->nl_cb_mutex

net/batman-adv/bat_iv_ogm.c batadv_iv_gw_get_best_gw_node() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 0,4096-ptr_max
PARAM_VALUE 0 gw_node->orig_node 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

net/batman-adv/bat_iv_ogm.c batadv_iv_gw_get_best_gw_node() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 0,4096-ptr_max
PARAM_VALUE 0 gw_node->orig_node 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

net/batman-adv/bat_iv_ogm.c batadv_iv_gw_get_best_gw_node() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 4096-ptr_max
PARAM_VALUE 0 gw_node->orig_node 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

net/batman-adv/gateway_client.c batadv_gw_check_client_stop() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 4096-ptr_max
PARAM_VALUE 0 gw_node->refcount.refcount.refs.counter (-1073741824),0-s32max
DATA_SOURCE 0 gw_node r batadv_gw_get_selected_gw_node
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/batman-adv/gateway_client.c batadv_gw_election() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 0,4096-ptr_max
PARAM_VALUE 0 gw_node->refcount.refcount.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 gw_node 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/batman-adv/gateway_client.c batadv_gw_election() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 0,4096-ptr_max
PARAM_VALUE 0 gw_node->orig_node 4096-ptr_max
CAPPED_DATA 0 gw_node 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/batman-adv/gateway_client.c batadv_gw_get_selected_orig() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 0,4096-ptr_max
PARAM_VALUE 0 gw_node->orig_node 0,4096-ptr_max
PARAM_VALUE 0 gw_node->orig_node->refcount.refcount.refs.counter (-1073741824),0-s32max
PARAM_VALUE 0 gw_node->refcount.refcount.refs.counter (-1073741824),0-s32max
DATA_SOURCE 0 gw_node r batadv_gw_get_selected_gw_node
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/batman-adv/gateway_client.c batadv_gw_node_add() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 4096-ptr_max
PARAM_VALUE 0 gw_node->bandwidth_down 1-u32max
PARAM_VALUE 0 gw_node->list.pprev 4096-ptr_max
PARAM_VALUE 0 gw_node->orig_node 4096-ptr_max
BUF_SIZE 0 gw_node 56
BUF_SIZE 0 gw_node->orig_node (-1),1656
DATA_SOURCE 0 gw_node r _kzalloc_noprof
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 gw_node->bandwidth_down 1-u32max
USER_DATA 0 gw_node->bandwidth_up 0-u32max
USER_DATA 0 gw_node->orig_node->last_ttvn 0-255[u]
USER_DATA 0 gw_node->orig_node->mcast_flags 1-255
LOCK2 &bat_priv->gw.list_lock
LOCK2 bh
HALF_LOCKED2 list_lock
TYPE_LOCK (struct batadv_priv_gw)->list_lock

net/batman-adv/gateway_client.c batadv_gw_node_free() -> batadv_gw_node_put()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &bat_priv->gw.list_lock
LOCK2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct batadv_priv_gw)->list_lock

net/batman-adv/gateway_client.c batadv_gw_node_free() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 4096-ptr_max
PARAM_VALUE 0 gw_node->list.pprev 0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &bat_priv->gw.list_lock
LOCK2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct batadv_priv_gw)->list_lock

net/batman-adv/gateway_client.c batadv_gw_node_update() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 4096-ptr_max
PARAM_VALUE 0 gw_node->bandwidth_down 0
PARAM_VALUE 0 gw_node->list->next->pprev 1-u64max
PARAM_VALUE 0 gw_node->list.pprev 0
PARAM_VALUE 0 gw_node->orig_node 4096-ptr_max
PARAM_VALUE 0 gw_node->refcount.refcount.refs.counter (-1073741824),0-s32max
DATA_SOURCE 0 gw_node r batadv_gw_node_get
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 gw_node->bandwidth_down 0
USER_DATA 0 gw_node->bandwidth_up 0-u32max
LOCK2 &bat_priv->gw.list_lock
LOCK2 bh
HALF_LOCKED2 list_lock
TYPE_LOCK (struct batadv_priv_gw)->list_lock

net/batman-adv/gateway_client.c batadv_gw_node_update() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 0,4096-ptr_max
PARAM_VALUE 0 gw_node->refcount.refcount.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 gw_node 1
DATA_SOURCE 0 gw_node r batadv_gw_get_selected_gw_node
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 list_lock

net/batman-adv/gateway_client.c batadv_gw_node_update() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 0,4096-ptr_max
PARAM_VALUE 0 gw_node->orig_node 4096-ptr_max
CAPPED_DATA 0 gw_node 1
DATA_SOURCE 0 gw_node r batadv_gw_node_get
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 gw_node->bandwidth_down 0-u32max
USER_DATA 0 gw_node->bandwidth_up 0-u32max
HALF_LOCKED2 list_lock

net/batman-adv/gateway_client.c batadv_gw_out_of_range() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 0,4096-ptr_max
PARAM_VALUE 0 gw_node->orig_node 0,4096-ptr_max
PARAM_VALUE 0 gw_node->refcount.refcount.refs.counter (-1073741824),0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mesh_iface->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

net/batman-adv/gateway_client.c batadv_gw_out_of_range() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 0,4096-ptr_max
PARAM_VALUE 0 gw_node->orig_node 4096-ptr_max
PARAM_VALUE 0 gw_node->refcount.refcount.refs.counter (-1073741824),0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mesh_iface->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

net/batman-adv/gateway_client.c batadv_gw_select() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 0,4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &bat_priv->gw.list_lock
LOCK2 bh
TYPE_LOCK (struct batadv_priv_gw)->list_lock

net/batman-adv/bat_v.c batadv_v_gw_dump_entry() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 0,4096-ptr_max
PARAM_VALUE 0 gw_node->refcount.refcount.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 gw_node 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &bat_priv->gw.list_lock
LOCK2 bh
HALF_LOCKED2 &nlk->nl_cb_mutex
TYPE_LOCK (struct batadv_priv_gw)->list_lock
TYPE_LOCK (struct netlink_sock)->nl_cb_mutex

net/batman-adv/bat_v.c batadv_v_gw_get_best_gw_node() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 0,4096-ptr_max
PARAM_VALUE 0 gw_node->orig_node 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

net/batman-adv/bat_v.c batadv_v_gw_get_best_gw_node() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 4096-ptr_max
PARAM_VALUE 0 gw_node->orig_node 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

net/batman-adv/bat_v.c batadv_v_gw_is_eligible() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 0,4096-ptr_max
PARAM_VALUE 0 gw_node->orig_node 4096-ptr_max
PARAM_VALUE 0 gw_node->refcount.refcount.refs.counter (-1073741824),0-s32max
DATA_SOURCE 0 gw_node r batadv_gw_node_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/batman-adv/bat_v.c batadv_v_gw_is_eligible() -> batadv_gw_node_put()

Type Parameter Key Value
PARAM_VALUE 0 gw_node 0,4096-ptr_max
PARAM_VALUE 0 gw_node->orig_node 4096-ptr_max
PARAM_VALUE 0 gw_node->refcount.refcount.refs.counter (-1073741824),0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL