Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

kernel/events/core.c __free_event() -> put_ctx()

Type Parameter Key Value
PARAM_VALUE 0 ctx 1-u64max
BUF_SIZE 0 ctx (-1),432
BUF_SIZE 0 ctx (-1),432
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 ctx unit_byte

kernel/events/core.c __perf_pmu_install_event() -> put_ctx()

Type Parameter Key Value
STR_LEN 0 ctx (-1)
STR_LEN 0 ctx (-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 ctx unit_byte
HALF_LOCKED2 global &ali_drw_pmu_irqs_lock
HALF_LOCKED2 global &dmc620_pmu_node_lock
HALF_LOCKED2 global &pmus_lock

kernel/events/core.c find_get_context() -> put_ctx()

Type Parameter Key Value
PARAM_VALUE 0 ctx 1-u64max
DATA_SOURCE 0 ctx r unclone_ctx
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock

kernel/events/core.c find_get_context() -> put_ctx()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->event_list.next 4096-ptr_max
PARAM_VALUE 0 ctx->event_list.next->next 4096-ptr_max
PARAM_VALUE 0 ctx->event_list.prev 4096-ptr_max
PARAM_VALUE 0 ctx->event_list.prev->next 4096-ptr_max
PARAM_VALUE 0 ctx->event_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 ctx->flexible_groups.index 0
PARAM_VALUE 0 ctx->lock.magic 3735899821
PARAM_VALUE 0 ctx->lock.owner (-1)
PARAM_VALUE 0 ctx->lock.owner_cpu u32max
PARAM_VALUE 0 ctx->pinned_groups.index 0
PARAM_VALUE 0 ctx->pmu_ctx_list.next 4096-ptr_max
PARAM_VALUE 0 ctx->pmu_ctx_list.next->next 4096-ptr_max
PARAM_VALUE 0 ctx->pmu_ctx_list.prev 4096-ptr_max
PARAM_VALUE 0 ctx->pmu_ctx_list.prev->next 4096-ptr_max
PARAM_VALUE 0 ctx->pmu_ctx_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 ctx->refcount.refs.counter 1
PARAM_VALUE 0 ctx->task 4096-ptr_max
PARAM_VALUE 0 ctx->task->sched_class->balance 0,4895810773273071616,6490409225490120704,7260575883162300416,8638459336928428032
PARAM_VALUE 0 ctx->task->sched_class->dequeue_task 0,144070366336110592,1947835499009560576,6189267449403002880,6455432424639717376,6899636822736904192
PARAM_VALUE 0 ctx->task->sched_class->enqueue_task 0,126196709549080576,1834828045319467008,6555940243012698112,7779016139136778240
PARAM_VALUE 0 ctx->task->sched_class->find_lock_rq 0,1330506845949976576,2186316422496772096
PARAM_VALUE 0 ctx->task->sched_class->get_prio 0,5589494719909007360
PARAM_VALUE 0 ctx->task->sched_class->get_rr_interval 0,160577115725877248,8566262156424376320
PARAM_VALUE 0 ctx->task->sched_class->migrate_task_rq 0,1111187247153754112,4715741308934107136
PARAM_VALUE 0 ctx->task->sched_class->pick_task 0,71,431140902756892672,1158575681758597120,5720692379550740480,7102393387566546944,7601726578106748928
PARAM_VALUE 0 ctx->task->sched_class->prio_changed 0,6,1146300274019463168,2737281516638617600,4228469244769832960,6494577740674654208,7383617159121645568
PARAM_VALUE 0 ctx->task->sched_class->put_prev_task 0,45,879997059321819136,2104802920512651264,3309484659987406848,4521943768044347392,6061791611826737152
PARAM_VALUE 0 ctx->task->sched_class->reweight_task 0,5264859755264851968
PARAM_VALUE 0 ctx->task->sched_class->rq_offline 0,1273389266380275712,3746302679399247872,7992910395761221632
PARAM_VALUE 0 ctx->task->sched_class->rq_online 0,1603218695044562944,3838970304731508736,6105480162315575296
PARAM_VALUE 0 ctx->task->sched_class->select_task_rq 0,84,819017430815793152,1774144038744014848,2097362150474280960,8429637501012336640,8680431057181843456
PARAM_VALUE 0 ctx->task->sched_class->set_cpus_allowed 0,1927640468783054848,5094656021401329664,7127180339355369472
PARAM_VALUE 0 ctx->task->sched_class->set_next_task 0,6,2315212163512696832,4028699749262393344,4361835877848195072,6461874264613330944,8232387521787854848
PARAM_VALUE 0 ctx->task->sched_class->switched_from 0,6932178706407411712,8530452231382753280,8897597262779232256
PARAM_VALUE 0 ctx->task->sched_class->switched_to 0,5165838827171962880,5857971317054578688,7142770315824652288
PARAM_VALUE 0 ctx->task->sched_class->switching_from 0,2762873923526262784
PARAM_VALUE 0 ctx->task->sched_class->switching_to 0,1207858565835722752,6355784522873475072
PARAM_VALUE 0 ctx->task->sched_class->task_change_group 0,7251702690162270208
PARAM_VALUE 0 ctx->task->sched_class->task_dead 0,6742757381008068608
PARAM_VALUE 0 ctx->task->sched_class->task_fork 0,1181151505743122432,6092562452304658432
PARAM_VALUE 0 ctx->task->sched_class->task_is_throttled 0,626302238049026048,4879098428662644736,6508522699847725056
PARAM_VALUE 0 ctx->task->sched_class->task_tick 0,6,1093040616512942080,4602209053340655616,5021036204559331328,6268546278195412992,7031988722367209472
PARAM_VALUE 0 ctx->task->sched_class->task_woken 0,4090974917235912704,4284209241675612160
PARAM_VALUE 0 ctx->task->sched_class->uclamp_enabled 0-1
PARAM_VALUE 0 ctx->task->sched_class->update_curr 0,2,2420086066110373888,2446272091500916736,2561397482238263296,2943871782664327168,8139140255186919424
PARAM_VALUE 0 ctx->task->sched_class->wakeup_preempt 0,1077039320164851712,1147033115188453376,2990157993661198336,6476960569952718848,6679893776262037504
PARAM_VALUE 0 ctx->task->sched_class->yield_task 0,2190573298372911104,3192817945493614592,3256919456170586112,7456815790656131072
PARAM_VALUE 0 ctx->task->sched_class->yield_to_task 0,3940359203731251200
BUF_SIZE 0 ctx 432
DATA_SOURCE 0 ctx r alloc_perf_context
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock

kernel/events/core.c perf_event_create_kernel_counter() -> put_ctx()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->lock.dep_map->name 0-255
PARAM_VALUE 0 ctx->lock.owner (-1)
PARAM_VALUE 0 ctx->lock.owner_cpu u32max
PARAM_VALUE 0 ctx->mutex.dep_map->name 0-255
PARAM_VALUE 0 ctx->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ctx->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctx->mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 ctx->mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 ctx->mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 ctx->mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 ctx->mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 ctx->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctx->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ctx->task->sched_class->find_lock_rq 0,1330506845949976576,2186316422496772096
PARAM_VALUE 0 ctx->task->sched_class->get_prio 0,5589494719909007360
PARAM_VALUE 0 ctx->task->sched_class->get_rr_interval 0,160577115725877248,8566262156424376320
PARAM_VALUE 0 ctx->task->sched_class->migrate_task_rq 0,1111187247153754112,4715741308934107136
PARAM_VALUE 0 ctx->task->sched_class->pick_task 0,71,431140902756892672,1158575681758597120,5720692379550740480,7102393387566546944,7601726578106748928
PARAM_VALUE 0 ctx->task->sched_class->prio_changed 0,6,1146300274019463168,2737281516638617600,4228469244769832960,6494577740674654208,7383617159121645568
PARAM_VALUE 0 ctx->task->sched_class->put_prev_task 0,45,879997059321819136,2104802920512651264,3309484659987406848,4521943768044347392,6061791611826737152
PARAM_VALUE 0 ctx->task->sched_class->reweight_task 0,5264859755264851968
PARAM_VALUE 0 ctx->task->sched_class->rq_offline 0,1273389266380275712,3746302679399247872,7992910395761221632
PARAM_VALUE 0 ctx->task->sched_class->rq_online 0,1603218695044562944,3838970304731508736,6105480162315575296
PARAM_VALUE 0 ctx->task->sched_class->select_task_rq 0,84,819017430815793152,1774144038744014848,2097362150474280960,8429637501012336640,8680431057181843456
PARAM_VALUE 0 ctx->task->sched_class->set_cpus_allowed 0,1927640468783054848,5094656021401329664,7127180339355369472
PARAM_VALUE 0 ctx->task->sched_class->set_next_task 0,6,2315212163512696832,4028699749262393344,4361835877848195072,6461874264613330944,8232387521787854848
PARAM_VALUE 0 ctx->task->sched_class->switched_from 0,6932178706407411712,8530452231382753280,8897597262779232256
PARAM_VALUE 0 ctx->task->sched_class->switched_to 0,5165838827171962880,5857971317054578688,7142770315824652288
PARAM_VALUE 0 ctx->task->sched_class->switching_from 0,2762873923526262784
PARAM_VALUE 0 ctx->task->sched_class->switching_to 0,1207858565835722752,6355784522873475072
PARAM_VALUE 0 ctx->task->sched_class->task_change_group 0,7251702690162270208
PARAM_VALUE 0 ctx->task->sched_class->task_dead 0,6742757381008068608
PARAM_VALUE 0 ctx->task->sched_class->task_fork 0,1181151505743122432,6092562452304658432
PARAM_VALUE 0 ctx->task->sched_class->task_is_throttled 0,626302238049026048,4879098428662644736,6508522699847725056
PARAM_VALUE 0 ctx->task->sched_class->task_tick 0,6,1093040616512942080,4602209053340655616,5021036204559331328,6268546278195412992,7031988722367209472
PARAM_VALUE 0 ctx->task->sched_class->task_woken 0,4090974917235912704,4284209241675612160
PARAM_VALUE 0 ctx->task->sched_class->update_curr 0,2,2420086066110373888,2446272091500916736,2561397482238263296,2943871782664327168,8139140255186919424
BUF_SIZE 0 ctx (-1)-0,432
BUF_SIZE 0 ctx (-1)-0,432
CAPPED_DATA 0 ctx 1
CAPPED_DATA 0 &ctx->mutex 1
DATA_SOURCE 0 ctx r find_get_context
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 ctx unit_byte
LOCK2 _T->lock

kernel/events/core.c perf_event_ctx_lock_nested() -> put_ctx()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->mutex.dep_map->name 0-255
PARAM_VALUE 0 ctx->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ctx->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctx->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctx->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ctx->refcount.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 &ctx->mutex 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 ctx unit_byte
HALF_LOCKED2 _T->lock

kernel/events/core.c perf_event_ctx_unlock() -> put_ctx()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->mutex.dep_map->name 0-255
PARAM_VALUE 0 ctx->mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 ctx->mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 ctx->mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 ctx->mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 ctx->mutex.first_waiter->task->usage.refs.counter s32min-s32max
CAPPED_DATA 0 ctx 1
CAPPED_DATA 0 &ctx->mutex 1
DATA_SOURCE 0 ctx $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 ctx unit_byte
HALF_LOCKED2 &event->ctx->mutex
HALF_LOCKED2 &m->lock
HALF_LOCKED2 _T->lock

kernel/events/core.c perf_event_enable_on_exec() -> put_ctx()

Type Parameter Key Value
PARAM_VALUE 0 ctx 1-u64max
DATA_SOURCE 0 ctx r unclone_ctx
NOCHECK_CALL
LOCK2 &tsk->signal->exec_update_lock

kernel/events/core.c perf_event_exec() -> put_ctx()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->lock.dep_map->name 0-255
PARAM_VALUE 0 ctx->lock.owner (-1)
PARAM_VALUE 0 ctx->lock.owner_cpu u32max
CAPPED_DATA 0 ctx 1
DATA_SOURCE 0 ctx r perf_pin_task_context
BIT_INFO 0 ctx 0x0,0x0
NOCHECK_CALL
LOCK2 &tsk->signal->exec_update_lock

kernel/events/core.c perf_event_exit_task_context() -> put_ctx()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->lock.dep_map->name 0-255
PARAM_VALUE 0 ctx->lock.owner_cpu 0
PARAM_VALUE 0 ctx->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 ctx->mutex.dep_map->name 0-255
PARAM_VALUE 0 ctx->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ctx->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctx->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctx->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ctx->mutex.wait_lock.owner (-1)
PARAM_VALUE 0 ctx->mutex.wait_lock.owner_cpu u32max
CAPPED_DATA 0 ctx 1
CAPPED_DATA 0 &ctx->mutex 1
DATA_SOURCE 0 ctx r perf_pin_task_context
BIT_INFO 0 ctx 0x0,0x0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
LOCK2 0 &ctx->lock
LOCK2 0 &ctx->mutex
TYPE_LOCK (struct perf_event_context)->lock
TYPE_LOCK (struct perf_event_context)->mutex

kernel/events/core.c perf_event_exit_task_context() -> put_ctx()

Type Parameter Key Value
PARAM_VALUE 0 ctx 1-u64max
DATA_SOURCE 0 ctx r unclone_ctx
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ctx->mutex
TYPE_LOCK (struct perf_event_context)->mutex

kernel/events/core.c perf_event_exit_task_context() -> put_ctx()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->lock.dep_map->name 0-255
PARAM_VALUE 0 ctx->mutex.dep_map->name 0-255
PARAM_VALUE 0 ctx->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctx->mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 ctx->mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 ctx->mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 ctx->mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 ctx->mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 ctx->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ctx->parent_ctx->task->rcu.func 1-u64max
PARAM_VALUE 0 ctx->parent_ctx->task->rcu.next 0
CAPPED_DATA 0 ctx 1
CAPPED_DATA 0 &ctx->event_list 1
CAPPED_DATA 0 &ctx->mutex 1
DATA_SOURCE 0 ctx r perf_pin_task_context
BIT_INFO 0 ctx 0x0,0x0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/events/core.c perf_event_init_context() -> put_ctx()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->lock.dep_map->name 0-255
PARAM_VALUE 0 ctx->lock.owner (-1)
PARAM_VALUE 0 ctx->lock.owner_cpu u32max
PARAM_VALUE 0 ctx->mutex.dep_map->name 0-255
PARAM_VALUE 0 ctx->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ctx->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctx->mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 ctx->mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 ctx->mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 ctx->mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 ctx->mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 ctx->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctx->mutex.wait_lock.dep_map->name 0-255
CAPPED_DATA 0 &ctx->mutex 1
DATA_SOURCE 0 ctx r perf_pin_task_context
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/events/core.c perf_event_release_kernel() -> put_ctx()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->mutex.dep_map->name 0-255
PARAM_VALUE 0 ctx->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ctx->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctx->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctx->mutex.wait_lock.dep_map->name 0-255
CAPPED_DATA 0 &ctx->mutex 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 ctx unit_byte

kernel/events/core.c perf_event_remove_on_exec() -> put_ctx()

Type Parameter Key Value
PARAM_VALUE 0 ctx 1-u64max
DATA_SOURCE 0 ctx r unclone_ctx
NOCHECK_CALL
LOCK2 &tsk->signal->exec_update_lock

kernel/events/core.c put_ctx() -> put_ctx()

Type Parameter Key Value
PARAM_VALUE 0 ctx 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ctx->lock
HALF_LOCKED2 &ctx->mutex
HALF_LOCKED2 &ctx->mutex
HALF_LOCKED2 &tsk->signal->exec_update_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 irq