Defined in 1 files as a function:
Referenced in 2 files:
Smatch caller information:
mm/damon/sysfs.c damon_sysfs_apply_inputs() -> damon_sysfs_add_targets()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctx | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->adaptive_targets.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->adaptive_targets.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->adaptive_targets.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->adaptive_targets.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->adaptive_targets.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->attrs.aggr_interval | 100000 |
| PARAM_VALUE | 0 | ctx->attrs.max_nr_regions | 3-u64max |
| PARAM_VALUE | 0 | ctx->attrs.min_nr_regions | 3-u64max |
| PARAM_VALUE | 0 | ctx->attrs.ops_update_interval | 60000000 |
| PARAM_VALUE | 0 | ctx->attrs.sample_interval | 5000 |
| PARAM_VALUE | 0 | ctx->call_controls.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ctx->call_controls_lock.first_waiter | 0 |
| PARAM_VALUE | 0 | ctx->call_controls_lock.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls_lock.owner.counter | 0 |
| PARAM_VALUE | 0 | ctx->kdamond_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ctx->kdamond_lock.first_waiter | 0 |
| PARAM_VALUE | 0 | ctx->kdamond_lock.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->kdamond_lock.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | ctx->kdamond_lock.owner.counter | 0 |
| PARAM_VALUE | 0 | ctx->kdamond_started.done | 0 |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.lock.magic | 3735899821 |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.lock.owner | (-1) |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.task_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.task_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.task_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.task_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.task_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->min_region_sz | 1-u64max |
| PARAM_VALUE | 0 | ctx->next_aggregation_sis | 0 |
| PARAM_VALUE | 0 | ctx->next_ops_update_sis | 0 |
| PARAM_VALUE | 0 | ctx->passed_sample_intervals | 0 |
| PARAM_VALUE | 0 | ctx->probes.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->probes.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->probes.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->probes.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->probes.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->rnd_state.s1 | 2-u32max |
| PARAM_VALUE | 0 | ctx->rnd_state.s2 | 2-u32max |
| PARAM_VALUE | 0 | ctx->rnd_state.s3 | 2-u32max |
| PARAM_VALUE | 0 | ctx->rnd_state.s4 | 2-u32max |
| PARAM_VALUE | 0 | ctx->schemes.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->schemes.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->schemes.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->schemes.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->schemes.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->walk_control_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ctx->walk_control_lock.first_waiter | 0 |
| PARAM_VALUE | 0 | ctx->walk_control_lock.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->walk_control_lock.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | ctx->walk_control_lock.owner.counter | 0 |
| BUF_SIZE | 0 | ctx | 896 |
| DATA_SOURCE | 0 | ctx | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | global &damon_sysfs_lock |
mm/damon/sysfs.c damon_sysfs_test_add_targets() -> damon_sysfs_add_targets()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctx | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->adaptive_targets.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->adaptive_targets.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->adaptive_targets.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->adaptive_targets.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->adaptive_targets.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->addr_unit | 1 |
| PARAM_VALUE | 0 | ctx->attrs.aggr_interval | 100000 |
| PARAM_VALUE | 0 | ctx->attrs.max_nr_regions | 1000 |
| PARAM_VALUE | 0 | ctx->attrs.min_nr_regions | 10 |
| PARAM_VALUE | 0 | ctx->attrs.ops_update_interval | 60000000 |
| PARAM_VALUE | 0 | ctx->attrs.sample_interval | 5000 |
| PARAM_VALUE | 0 | ctx->call_controls.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ctx->call_controls_lock.first_waiter | 0 |
| PARAM_VALUE | 0 | ctx->call_controls_lock.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls_lock.owner.counter | 0 |
| PARAM_VALUE | 0 | ctx->kdamond_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ctx->kdamond_lock.first_waiter | 0 |
| PARAM_VALUE | 0 | ctx->kdamond_lock.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->kdamond_lock.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | ctx->kdamond_lock.owner.counter | 0 |
| PARAM_VALUE | 0 | ctx->kdamond_started.done | 0 |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.lock.magic | 3735899821 |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.lock.owner | (-1) |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.task_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.task_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.task_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.task_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.task_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->min_region_sz | 4096 |
| PARAM_VALUE | 0 | ctx->next_aggregation_sis | 0 |
| PARAM_VALUE | 0 | ctx->next_ops_update_sis | 0 |
| PARAM_VALUE | 0 | ctx->passed_sample_intervals | 0 |
| PARAM_VALUE | 0 | ctx->probes.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->probes.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->probes.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->probes.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->probes.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->rnd_state.s1 | 2-u32max |
| PARAM_VALUE | 0 | ctx->rnd_state.s2 | 2-u32max |
| PARAM_VALUE | 0 | ctx->rnd_state.s3 | 2-u32max |
| PARAM_VALUE | 0 | ctx->rnd_state.s4 | 2-u32max |
| PARAM_VALUE | 0 | ctx->schemes.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->schemes.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->schemes.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->schemes.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->schemes.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->walk_control_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ctx->walk_control_lock.first_waiter | 0 |
| PARAM_VALUE | 0 | ctx->walk_control_lock.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->walk_control_lock.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | ctx->walk_control_lock.owner.counter | 0 |
| PARAM_VALUE | 1 | sysfs_targets | 4096-ptr_max |
| PARAM_VALUE | 1 | sysfs_targets->nr | 1 |
| PARAM_VALUE | 1 | sysfs_targets->targets_arr | 4096-ptr_max |
| BUF_SIZE | 0 | ctx | 896 |
| BUF_SIZE | 1 | sysfs_targets | 264 |
| BUF_SIZE | 1 | sysfs_targets->targets_arr | 8 |
| DATA_SOURCE | 0 | ctx | r damon_new_ctx |
| DATA_SOURCE | 1 | sysfs_targets | r damon_sysfs_targets_alloc |
| NOCHECK_CALL |
mm/damon/sysfs.c damon_sysfs_test_add_targets() -> damon_sysfs_add_targets()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctx | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->adaptive_targets.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->adaptive_targets.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->adaptive_targets.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->adaptive_targets.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->adaptive_targets.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->addr_unit | 1 |
| PARAM_VALUE | 0 | ctx->attrs.aggr_interval | 100000 |
| PARAM_VALUE | 0 | ctx->attrs.max_nr_regions | 1000 |
| PARAM_VALUE | 0 | ctx->attrs.min_nr_regions | 10 |
| PARAM_VALUE | 0 | ctx->attrs.ops_update_interval | 60000000 |
| PARAM_VALUE | 0 | ctx->attrs.sample_interval | 5000 |
| PARAM_VALUE | 0 | ctx->call_controls.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ctx->call_controls_lock.first_waiter | 0 |
| PARAM_VALUE | 0 | ctx->call_controls_lock.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->call_controls_lock.owner.counter | 0 |
| PARAM_VALUE | 0 | ctx->kdamond_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ctx->kdamond_lock.first_waiter | 0 |
| PARAM_VALUE | 0 | ctx->kdamond_lock.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->kdamond_lock.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | ctx->kdamond_lock.owner.counter | 0 |
| PARAM_VALUE | 0 | ctx->kdamond_started.done | 0 |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.lock.magic | 3735899821 |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.lock.owner | (-1) |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.task_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.task_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.task_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.task_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->kdamond_started.wait.task_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->min_region_sz | 4096 |
| PARAM_VALUE | 0 | ctx->next_aggregation_sis | 0 |
| PARAM_VALUE | 0 | ctx->next_ops_update_sis | 0 |
| PARAM_VALUE | 0 | ctx->passed_sample_intervals | 0 |
| PARAM_VALUE | 0 | ctx->probes.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->probes.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->probes.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->probes.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->probes.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->rnd_state.s1 | 2-u32max |
| PARAM_VALUE | 0 | ctx->rnd_state.s2 | 2-u32max |
| PARAM_VALUE | 0 | ctx->rnd_state.s3 | 2-u32max |
| PARAM_VALUE | 0 | ctx->rnd_state.s4 | 2-u32max |
| PARAM_VALUE | 0 | ctx->schemes.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->schemes.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->schemes.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->schemes.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->schemes.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->walk_control_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ctx->walk_control_lock.first_waiter | 0 |
| PARAM_VALUE | 0 | ctx->walk_control_lock.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | ctx->walk_control_lock.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | ctx->walk_control_lock.owner.counter | 0 |
| PARAM_VALUE | 1 | sysfs_targets | 4096-ptr_max |
| PARAM_VALUE | 1 | sysfs_targets->nr | 1 |
| PARAM_VALUE | 1 | sysfs_targets->targets_arr | 4096-ptr_max |
| BUF_SIZE | 0 | ctx | 896 |
| BUF_SIZE | 1 | sysfs_targets | 264 |
| BUF_SIZE | 1 | sysfs_targets->targets_arr | 8 |
| DATA_SOURCE | 0 | ctx | r damon_new_ctx |
| DATA_SOURCE | 1 | sysfs_targets | r damon_sysfs_targets_alloc |
| NOCHECK_CALL |