Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
net/sched/cls_api.c __tcf_chain_get() -> tcf_chain_hold()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | chain | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->index | 0-268435455 |
| CAPPED_DATA | 0 | chain->index | 1 |
| DATA_SOURCE | 0 | chain | r tcf_chain_lookup |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | chain->index | 0-268435455[c] |
| LOCK2 | &block->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 &hwsim_phys_lock | ||
| HALF_LOCKED2 | global &rtnl_mutex | ||
| HALF_LOCKED2 | global &rx_queue_mutex | ||
| TYPE_LOCK | (struct tcf_block)->lock |
net/sched/cls_api.c __tcf_get_next_chain() -> tcf_chain_hold()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | chain | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->filter_chain->chain->block->cb_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | chain->filter_chain->chain->block->cb_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | chain->tmplt_ops->bind_class | 0,4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->change | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->classify | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->delete | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->delete_empty | 0,4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->destroy | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->dump | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->flags | 0-1 |
| PARAM_VALUE | 0 | chain->tmplt_ops->get | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->get_exts | 0,4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->hw_add | 0,4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->hw_del | 0,4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->init | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->owner | 0 |
| PARAM_VALUE | 0 | chain->tmplt_ops->put | 0,4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->reoffload | 0,4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->terse_dump | 0,4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->tmplt_create | 0,4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->tmplt_destroy | 0,4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->tmplt_dump | 0,4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->tmplt_reoffload | 0,4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->walk | 4096-ptr_max |
| DATA_SOURCE | 0 | chain | $1 [m] |
| PARAM_COMPARE | 0 | chain->action_refcnt | != $0->refcnt |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &block->lock | ||
| TYPE_LOCK | (struct tcf_block)->lock |
net/sched/cls_api.c tc_ctl_chain() -> tcf_chain_hold()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | chain | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->block->cb_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | chain->block->cb_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | chain->filter_chain->chain->block->cb_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | chain->filter_chain->chain->block->cb_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | chain->index | 0-268435455 |
| PARAM_VALUE | 0 | chain->tmplt_ops->bind_class | 0,253638916652470272,389398395680960512,497355655962103808,2439914788663349248,3760973667801829376,3944557461585240064,7271150556157632512 |
| PARAM_VALUE | 0 | chain->tmplt_ops->change | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->classify | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->delete | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->delete_empty | 0,750285114719432704 |
| PARAM_VALUE | 0 | chain->tmplt_ops->destroy | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->dump | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->flags | 0-1 |
| PARAM_VALUE | 0 | chain->tmplt_ops->get | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->get_exts | 0,564523576748855296 |
| PARAM_VALUE | 0 | chain->tmplt_ops->hw_add | 0,8627320705720037376 |
| PARAM_VALUE | 0 | chain->tmplt_ops->hw_del | 0,5634209399654346752 |
| PARAM_VALUE | 0 | chain->tmplt_ops->init | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->owner | 0 |
| PARAM_VALUE | 0 | chain->tmplt_ops->put | 0,4015827899862691840 |
| PARAM_VALUE | 0 | chain->tmplt_ops->reoffload | 0,631035440261332992,2894995858785198080,6092317856774164480,6534152950415466496 |
| PARAM_VALUE | 0 | chain->tmplt_ops->terse_dump | 0,1538323412491280384 |
| PARAM_VALUE | 0 | chain->tmplt_ops->tmplt_create | 0,1299436987590848512 |
| PARAM_VALUE | 0 | chain->tmplt_ops->tmplt_destroy | 0,4130920257218207744 |
| PARAM_VALUE | 0 | chain->tmplt_ops->tmplt_dump | 0,1951777138979201024 |
| PARAM_VALUE | 0 | chain->tmplt_ops->tmplt_reoffload | 0,7461728144049897472 |
| PARAM_VALUE | 0 | chain->tmplt_ops->walk | 4096-ptr_max |
| CAPPED_DATA | 0 | chain->action_refcnt | 1 |
| CAPPED_DATA | 0 | chain->index | 1 |
| CAPPED_DATA | 0 | chain->refcnt | 1 |
| DATA_SOURCE | 0 | chain | r tcf_chain_lookup |
| PARAM_COMPARE | 0 | chain->action_refcnt | == $0->refcnt |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &block->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 &hwsim_phys_lock | ||
| HALF_LOCKED2 | global &rtnl_mutex | ||
| HALF_LOCKED2 | global &rx_queue_mutex | ||
| TYPE_LOCK | (struct tcf_block)->lock |
net/sched/cls_api.c tc_ctl_chain() -> tcf_chain_hold()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | chain | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->block->cb_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | chain->block->cb_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | chain->filter_chain->chain->block->cb_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | chain->filter_chain->chain->block->cb_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | chain->index | 0-268435455 |
| PARAM_VALUE | 0 | chain->tmplt_ops->bind_class | 0,253638916652470272,389398395680960512,497355655962103808,2439914788663349248,3760973667801829376,3944557461585240064,7271150556157632512 |
| PARAM_VALUE | 0 | chain->tmplt_ops->change | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->classify | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->delete | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->delete_empty | 0,750285114719432704 |
| PARAM_VALUE | 0 | chain->tmplt_ops->destroy | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->dump | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->flags | 0-1 |
| PARAM_VALUE | 0 | chain->tmplt_ops->get | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->get_exts | 0,564523576748855296 |
| PARAM_VALUE | 0 | chain->tmplt_ops->hw_add | 0,8627320705720037376 |
| PARAM_VALUE | 0 | chain->tmplt_ops->hw_del | 0,5634209399654346752 |
| PARAM_VALUE | 0 | chain->tmplt_ops->init | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->owner | 0 |
| PARAM_VALUE | 0 | chain->tmplt_ops->put | 0,4015827899862691840 |
| PARAM_VALUE | 0 | chain->tmplt_ops->reoffload | 0,631035440261332992,2894995858785198080,6092317856774164480,6534152950415466496 |
| PARAM_VALUE | 0 | chain->tmplt_ops->terse_dump | 0,1538323412491280384 |
| PARAM_VALUE | 0 | chain->tmplt_ops->tmplt_create | 0,1299436987590848512 |
| PARAM_VALUE | 0 | chain->tmplt_ops->tmplt_destroy | 0,4130920257218207744 |
| PARAM_VALUE | 0 | chain->tmplt_ops->tmplt_dump | 0,1951777138979201024 |
| PARAM_VALUE | 0 | chain->tmplt_ops->tmplt_reoffload | 0,7461728144049897472 |
| PARAM_VALUE | 0 | chain->tmplt_ops->walk | 4096-ptr_max |
| CAPPED_DATA | 0 | chain->index | 1 |
| DATA_SOURCE | 0 | chain | r tcf_chain_lookup |
| PARAM_COMPARE | 0 | chain->action_refcnt | != $0->refcnt |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &block->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 &hwsim_phys_lock | ||
| HALF_LOCKED2 | global &rtnl_mutex | ||
| HALF_LOCKED2 | global &rx_queue_mutex | ||
| TYPE_LOCK | (struct tcf_block)->lock |
net/sched/cls_api.c tc_ctl_chain() -> tcf_chain_hold()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | chain | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->block->cb_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | chain->block->cb_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | chain->filter_chain->chain->block->cb_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | chain->filter_chain->chain->block->cb_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | chain->index | 0-268435455 |
| PARAM_VALUE | 0 | chain->tmplt_ops->bind_class | 0,253638916652470272,389398395680960512,497355655962103808,2439914788663349248,3760973667801829376,3944557461585240064,7271150556157632512 |
| PARAM_VALUE | 0 | chain->tmplt_ops->change | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->classify | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->delete | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->delete_empty | 0,750285114719432704 |
| PARAM_VALUE | 0 | chain->tmplt_ops->destroy | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->dump | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->flags | 0-1 |
| PARAM_VALUE | 0 | chain->tmplt_ops->get | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->get_exts | 0,564523576748855296 |
| PARAM_VALUE | 0 | chain->tmplt_ops->hw_add | 0,8627320705720037376 |
| PARAM_VALUE | 0 | chain->tmplt_ops->hw_del | 0,5634209399654346752 |
| PARAM_VALUE | 0 | chain->tmplt_ops->init | 4096-ptr_max |
| PARAM_VALUE | 0 | chain->tmplt_ops->owner | 0 |
| PARAM_VALUE | 0 | chain->tmplt_ops->put | 0,4015827899862691840 |
| PARAM_VALUE | 0 | chain->tmplt_ops->reoffload | 0,631035440261332992,2894995858785198080,6092317856774164480,6534152950415466496 |
| PARAM_VALUE | 0 | chain->tmplt_ops->terse_dump | 0,1538323412491280384 |
| PARAM_VALUE | 0 | chain->tmplt_ops->tmplt_create | 0,1299436987590848512 |
| PARAM_VALUE | 0 | chain->tmplt_ops->tmplt_destroy | 0,4130920257218207744 |
| PARAM_VALUE | 0 | chain->tmplt_ops->tmplt_dump | 0,1951777138979201024 |
| PARAM_VALUE | 0 | chain->tmplt_ops->tmplt_reoffload | 0,7461728144049897472 |
| PARAM_VALUE | 0 | chain->tmplt_ops->walk | 4096-ptr_max |
| BUF_SIZE | 0 | chain | (-1),232 |
| BUF_SIZE | 0 | chain | (-1),232 |
| CAPPED_DATA | 0 | chain->index | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &block->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 &hwsim_phys_lock | ||
| HALF_LOCKED2 | global &rtnl_mutex | ||
| HALF_LOCKED2 | global &rx_queue_mutex | ||
| TYPE_LOCK | (struct tcf_block)->lock |
net/sched/cls_api.c tcf_chain0_head_change_cb_add() -> tcf_chain_hold()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | chain | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &block->lock | ||
| TYPE_LOCK | (struct tcf_block)->lock |