Defined in 1 files as a function:
Referenced in 4 files:
- drivers/net/vxlan/vxlan_core.c
- net/ipv4/fib_semantics.c, line 226
- net/ipv4/nexthop.c
- net/ipv6/ip6_fib.c, line 175
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 |