Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

net/ipv4/nexthop.c nexthop_add() -> nexthop_put()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PARAM_VALUE 0 nh->dead 1
PARAM_VALUE 0 nh->id 1-u32max
PARAM_VALUE 0 nh->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 nh->net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 nh->net->rtnl_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 nh->nh_grp 4096-ptr_max
PARAM_VALUE 0 nh->nh_grp->res_table->upkeep_dw.timer.entry->pprev 4096-ptr_max
PARAM_VALUE 0 nh->nh_grp->res_table->uw_nh_entries.next->next 4096-ptr_max
PARAM_VALUE 0 nh->nh_grp->res_table->uw_nh_entries.next->prev 4096-ptr_max
PARAM_VALUE 0 nh->nh_info 4096-ptr_max
PARAM_VALUE 0 nh->nh_info->nh_parent 4096-ptr_max
PARAM_VALUE 0 nh->nh_info->nh_parent->f6i_list.next 4096-ptr_max
PARAM_VALUE 0 nh->nh_info->nh_parent->f6i_list.prev 4096-ptr_max
PARAM_VALUE 0 nh->nh_info->nh_parent->fdb_list.next 4096-ptr_max
PARAM_VALUE 0 nh->nh_info->nh_parent->fdb_list.prev 4096-ptr_max
PARAM_VALUE 0 nh->nh_info->nh_parent->fi_list.next 4096-ptr_max
PARAM_VALUE 0 nh->nh_info->nh_parent->fi_list.prev 4096-ptr_max
PARAM_VALUE 0 nh->nh_info->nh_parent->grp_list.next 4096-ptr_max
PARAM_VALUE 0 nh->nh_info->nh_parent->grp_list.prev 4096-ptr_max
PARAM_VALUE 0 nh->nh_info->nh_parent->id 1-u32max
PARAM_VALUE 0 nh->nh_info->nh_parent->nh_grp 4096-ptr_max
PARAM_VALUE 0 nh->nh_info->nh_parent->nh_info 4096-ptr_max
PARAM_VALUE 0 nh->nh_info->nh_parent->refcnt.refs.counter 1
PARAM_VALUE 0 nh->protocol 0
PARAM_VALUE 0 nh->rb_node.__rb_parent_color 1
PARAM_VALUE 0 nh->rb_node.rb_left 4096-ptr_max
PARAM_VALUE 0 nh->rb_node.rb_right 4096-ptr_max
PARAM_VALUE 0 nh->refcnt.refs.counter 1
BUF_SIZE 0 nh 208
CAPPED_DATA 0 nh->id 1
CAPPED_DATA 0 nh->nh_grp 1
CAPPED_DATA 0 nh->nh_info 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 nh->nh_flags 0-127[c]
USER_DATA 0 nh->nh_info->nh_parent->nh_flags 0-127[c]
USER_DATA 0 nh->nh_info->nh_parent->protocol 0
USER_DATA 0 nh->protocol 0
LOCK2 &net->rtnl_mutex
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rx_queue_mutex
TYPE_LOCK (struct net)->rtnl_mutex

net/ipv4/nexthop.c nexthop_create_group() -> nexthop_put()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PARAM_VALUE 0 nh->nh_info 4096-ptr_max
PARAM_VALUE 0 nh->refcnt.refs.counter (-1073741824),0-s32max
DATA_SOURCE 0 nh r nexthop_find_by_id
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &net->rtnl_mutex
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rx_queue_mutex
TYPE_LOCK (struct net)->rtnl_mutex

net/ipv4/nexthop.c nexthop_create_group() -> nexthop_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &net->rtnl_mutex
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rx_queue_mutex
TYPE_LOCK (struct net)->rtnl_mutex

net/ipv4/nexthop.c nexthop_free_group() -> nexthop_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

net/ipv4/nexthop.c remove_nexthop() -> nexthop_put()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PARAM_VALUE 0 nh->dead 1
PARAM_VALUE 0 nh->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 nh->nh_grp->res_table->upkeep_dw.work.lockdep_map->name 0-255
PARAM_VALUE 0 nh->nh_info->dev_hash->next->pprev 1-u64max
PARAM_VALUE 0 nh->rb_node.rb_left 0,4096-ptr_max
PARAM_VALUE 0 nh->rb_node.rb_right 0,4096-ptr_max
CAPPED_DATA 0 &nh->rb_node 1
DATA_SOURCE 0 nh $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &pernet_ops_rwsem
HALF_LOCKED2 global &rtnl_mutex

net/ipv4/nexthop.c remove_nh_grp_entry() -> nexthop_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex

net/ipv4/nexthop.c replace_nexthop() -> nexthop_put()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PARAM_VALUE 0 nh->dead 1
PARAM_VALUE 0 nh->id 1-u32max
PARAM_VALUE 0 nh->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 nh->net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 nh->net->rtnl_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 nh->nh_grp 4096-ptr_max
PARAM_VALUE 0 nh->nh_grp->res_table->upkeep_dw.work.lockdep_map->name 0-255
PARAM_VALUE 0 nh->nh_info 4096-ptr_max
PARAM_VALUE 0 nh->nh_info->dev_hash->next->pprev 1-u64max
PARAM_VALUE 0 nh->nh_info->fdb_nh 0
PARAM_VALUE 0 nh->protocol 0
PARAM_VALUE 0 nh->refcnt.refs.counter 1
BUF_SIZE 0 nh 208
CAPPED_DATA 0 nh->nh_grp 1
CAPPED_DATA 0 nh->nh_info 1
DATA_SOURCE 0 nh $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 nh->nh_flags 0-127[c]
USER_DATA 0 nh->protocol 0
LOCK2 &net->rtnl_mutex
LOCK2 global &rtnl_mutex
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 &hwsim_phys_lock
HALF_LOCKED2 global &rx_queue_mutex
TYPE_LOCK (struct net)->rtnl_mutex

net/ipv4/fib_semantics.c free_fib_info_rcu() -> nexthop_put()

Type Parameter Key Value
PARAM_VALUE 0 nh 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

net/ipv6/ip6_fib.c fib6_info_destroy_rcu() -> nexthop_put()

Type Parameter Key Value
PARAM_VALUE 0 nh 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

drivers/net/vxlan/vxlan_core.c __vxlan_fdb_free() -> nexthop_put()

Type Parameter Key Value
PARAM_VALUE 0 nh 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

drivers/net/vxlan/vxlan_core.c vxlan_fdb_create() -> nexthop_put()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vxlan->hash_lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct vxlan_dev)->hash_lock

drivers/net/vxlan/vxlan_core.c vxlan_fdb_nh_update() -> nexthop_put()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vxlan->hash_lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct vxlan_dev)->hash_lock

drivers/net/vxlan/vxlan_core.c vxlan_fdb_nh_update() -> nexthop_put()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PARAM_VALUE 0 nh->refcnt.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 nh->id 1
DATA_SOURCE 0 nh r nexthop_find_by_id
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vxlan->hash_lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct vxlan_dev)->hash_lock