Defined in 1 files as a prototype:
Defined in 2 files as a function:
Referenced in 6 files:
- net/devlink/core.c
- net/devlink/health.c
- net/devlink/netlink.c
- net/devlink/rate.c
- net/devlink/region.c
- net/ethtool/ioctl.c, line 3693
Smatch caller information:
net/ethtool/ioctl.c dev_ethtool() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 1-u64max |
| NOCHECK_CALL |
net/devlink/core.c __devlinks_xa_find_get() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->refcount.refs.counter | (-1073741824),0-s32max |
| CAPPED_DATA | 0 | devlink->_net.net | 1 |
| DATA_SOURCE | 0 | devlink | r xa_find |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | rcu_read |
net/devlink/core.c devlink_free() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->task->blocked_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | devlink->nested_rels.xa_head | 0 |
| PARAM_VALUE | 0 | devlink->ops->reload_actions | 0-7 |
| PARAM_VALUE | 0 | devlink->ops->reload_down | 0,4096-ptr_max |
| PARAM_VALUE | 0 | devlink->ops->reload_limits | 0-3 |
| PARAM_VALUE | 0 | devlink->ops->reload_up | 0,4096-ptr_max |
| PARAM_VALUE | 0 | devlink->params.xa_head | 0 |
| PARAM_VALUE | 0 | devlink->ports.xa_head | 0 |
| PARAM_VALUE | 0 | devlink->refcount.refs.counter | (-1073741824),0-s32max |
| PARAM_VALUE | 0 | devlink->rel | 0 |
| PARAM_VALUE | 0 | devlink->snapshot_ids.xa_head | 0 |
| CAPPED_DATA | 0 | devlink | 1 |
| CAPPED_DATA | 0 | &devlink->dpipe_table_list | 1 |
| CAPPED_DATA | 0 | &devlink->linecard_list | 1 |
| CAPPED_DATA | 0 | &devlink->region_list | 1 |
| CAPPED_DATA | 0 | &devlink->reporter_list | 1 |
| CAPPED_DATA | 0 | &devlink->resource_list | 1 |
| CAPPED_DATA | 0 | &devlink->sb_list | 1 |
| CAPPED_DATA | 0 | &devlink->trap_group_list | 1 |
| CAPPED_DATA | 0 | &devlink->trap_list | 1 |
| CAPPED_DATA | 0 | &devlink->trap_policer_list | 1 |
| DATA_SOURCE | 0 | devlink | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &_dev->mutex | ||
| HALF_LOCKED2 | &dev->mutex | ||
| HALF_LOCKED2 | &oct->pci_dev->dev.mutex | ||
| HALF_LOCKED2 | global &dsa2_mutex | ||
| HALF_LOCKED2 | global &hnae3_common_lock | ||
| HALF_LOCKED2 | global &shd_mutex |
net/devlink/core.c devlink_nested_in_get_lock() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | devlink->ops->supported_cross_device_rate_nodes | 1 |
| PARAM_VALUE | 0 | devlink->refcount.refs.counter | (-1073741824),0-s32max |
| DATA_SOURCE | 0 | devlink | r devlinks_xa_get |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &devlink->lock |
net/devlink/core.c devlink_pernet_pre_exit() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->dev | 0,4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | devlink->ops->reload_down | 0,4096-ptr_max |
| DATA_SOURCE | 0 | devlink | r devlinks_xa_find_get |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &pernet_ops_rwsem |
net/devlink/core.c devlink_rel_devlink_handle_put() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| DATA_SOURCE | 0 | devlink | r devlink_rel_devlink_get |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
net/devlink/core.c devlink_rel_nested_in_notify_work() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->refcount.refs.counter | (-1073741824),0-s32max |
| DATA_SOURCE | 0 | devlink | r devlinks_xa_get |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
net/devlink/core.c devlink_rel_nested_in_notify_work() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | devlink->refcount.refs.counter | (-1073741824),0-s32max |
| DATA_SOURCE | 0 | devlink | r devlinks_xa_get |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
net/devlink/core.c devlink_rel_nested_in_notify_work() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | devlink->refcount.refs.counter | (-1073741824),0-s32max |
| DATA_SOURCE | 0 | devlink | r devlinks_xa_get |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
net/devlink/region.c devlink_nl_region_read_dumpit() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->dev | 0,4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->prev | 5159360019465732096 |
| CAPPED_DATA | 0 | devlink->_net.net | 1 |
| CAPPED_DATA | 0 | devlink->index | 1 |
| DATA_SOURCE | 0 | devlink | r devlink_get_from_attrs_lock |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &nlk->nl_cb_mutex | ||
| TYPE_LOCK | (struct netlink_sock)->nl_cb_mutex |
net/devlink/region.c devlink_nl_region_read_dumpit() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->dev | 0,4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->prev | 5159360019465732096 |
| CAPPED_DATA | 0 | devlink->_net.net | 1 |
| DATA_SOURCE | 0 | devlink | r devlink_get_from_attrs_lock |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &nlk->nl_cb_mutex | ||
| TYPE_LOCK | (struct netlink_sock)->nl_cb_mutex |
net/devlink/netlink.c __devlink_nl_post_doit() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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/devlink/netlink.c __devlink_nl_post_doit() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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/devlink/netlink.c __devlink_nl_pre_doit() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->prev | 5159360019465732096 |
| CAPPED_DATA | 0 | devlink->_net.net | 1 |
| DATA_SOURCE | 0 | devlink | r devlink_get_from_attrs_lock |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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 &rtnl_mutex | ||
| HALF_LOCKED2 | global &rx_queue_mutex | ||
| HALF_LOCKED2 | rcu_read |
net/devlink/netlink.c __devlink_nl_pre_doit() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->prev | 5159360019465732096 |
| CAPPED_DATA | 0 | devlink->_net.net | 1 |
| DATA_SOURCE | 0 | devlink | r devlink_get_parent_from_attrs_lock |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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 &rtnl_mutex | ||
| HALF_LOCKED2 | global &rx_queue_mutex | ||
| HALF_LOCKED2 | rcu_read |
net/devlink/netlink.c devlink_get_from_attrs_lock() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->dev | 0,4096-ptr_max |
| CAPPED_DATA | 0 | devlink->_net.net | 1 |
| DATA_SOURCE | 0 | devlink | r devlinks_xa_find_get |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
net/devlink/netlink.c devlink_get_from_attrs_lock() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->next | 5159360019465732096 |
| CAPPED_DATA | 0 | devlink->_net.net | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
net/devlink/netlink.c devlink_nl_inst_iter_dumpit() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | devlink->ops->info_get | 0,4096-ptr_max |
| PARAM_VALUE | 0 | devlink->ops->sb_pool_get | 0,4096-ptr_max |
| PARAM_VALUE | 0 | devlink->ops->sb_port_pool_get | 0,5080524251109040128,5500329137182081024,8058848025358356480 |
| PARAM_VALUE | 0 | devlink->ops->sb_tc_pool_bind_get | 0,557608487823060992,7803434078078054400,8622157503094607872 |
| PARAM_VALUE | 0 | devlink->ops->selftest_check | 0,8032679069814992896 |
| DATA_SOURCE | 0 | devlink | r devlinks_xa_find_get |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &nlk->nl_cb_mutex | ||
| TYPE_LOCK | (struct netlink_sock)->nl_cb_mutex |
net/devlink/netlink.c devlink_nl_inst_single_dumpit() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->prev | 5159360019465732096 |
| CAPPED_DATA | 0 | devlink->_net.net | 1 |
| DATA_SOURCE | 0 | devlink | r devlink_get_from_attrs_lock |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &nlk->nl_cb_mutex | ||
| TYPE_LOCK | (struct netlink_sock)->nl_cb_mutex |
net/devlink/health.c devlink_health_reporter_get_from_cb_lock() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->prev | 5159360019465732096 |
| CAPPED_DATA | 0 | devlink->_net.net | 1 |
| DATA_SOURCE | 0 | devlink | r devlink_get_from_attrs_lock |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &nlk->nl_cb_mutex | ||
| TYPE_LOCK | (struct netlink_sock)->nl_cb_mutex |
net/devlink/health.c devlink_nl_health_reporter_dump_get_dumpit() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &nlk->nl_cb_mutex | ||
| TYPE_LOCK | (struct netlink_sock)->nl_cb_mutex |
net/devlink/health.c devlink_nl_health_reporter_dump_get_dumpit() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &nlk->nl_cb_mutex | ||
| TYPE_LOCK | (struct netlink_sock)->nl_cb_mutex |
net/devlink/rate.c devl_rate_lock() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | devlink->lock.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | devlink->ops->supported_cross_device_rate_nodes | 1 |
| PARAM_VALUE | 0 | devlink->refcount.refs.counter | (-1073741824),0-s32max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &devlink->lock |
net/devlink/rate.c devl_rate_unlock() -> devlink_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | devlink | 4096-ptr_max |
| PARAM_VALUE | 0 | devlink->lock.dep_map->name | 0-255 |
| DATA_SOURCE | 0 | devlink | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &devlink->lock |