Defined in 2 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/events/core.c __perf_event_enable() -> perf_cgroup_event_enable()

Type Parameter Key Value
PARAM_VALUE 0 event 4096-ptr_max
PARAM_VALUE 0 event->ctx 4096-ptr_max
PARAM_VALUE 0 event->state 0
PARAM_VALUE 1 ctx 4096-ptr_max
BUF_SIZE 0 event s32min-(-1),1-s32max
BUF_SIZE 0 event s32min-(-1),1-s32max
CAPPED_DATA 0 event 1
CAPPED_DATA 0 event->ctx 1
CAPPED_DATA 0 event->group_leader 1
CAPPED_DATA 1 ctx 1
CAPPED_DATA 1 ctx->task 1
DATA_SOURCE 0 event $0
DATA_SOURCE 1 ctx $2
NOSPEC 0 event->attr.bp_type
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 event->group_leader->hw->addr_filters_gen 0-u64max
HOST_DATA 0 event->group_leader->hw->freq_count_stamp 0-u64max
HOST_DATA 0 event->group_leader->hw->freq_time_stamp 0-u64max
HOST_DATA 0 event->group_leader->hw->interrupts 0-u64max
HOST_DATA 0 event->group_leader->hw->interrupts_seq 0-u64max
HOST_DATA 0 event->group_leader->hw->sample_period 0-u64max
HOST_DATA 0 event->group_leader->hw->state s32min-s32max
HOST_DATA 0 event->group_leader->hw.aux_config 0-u64max
HOST_DATA 0 event->group_leader->hw.aux_paused 0-u32max
HOST_DATA 0 event->group_leader->hw.branch_reg.alloc s32min-s32max
HOST_DATA 0 event->group_leader->hw.branch_reg.config 0-u64max
HOST_DATA 0 event->group_leader->hw.branch_reg.idx s32min-s32max
HOST_DATA 0 event->group_leader->hw.branch_reg.reg 0-u32max
HOST_DATA 0 event->group_leader->hw.conf 0-u64max
HOST_DATA 0 event->group_leader->hw.conf1 0-u64max
HOST_DATA 0 event->group_leader->hw.config 0-u64max
HOST_DATA 0 event->group_leader->hw.config1 0-u64max
HOST_DATA 0 event->group_leader->hw.config_base 0-u64max
HOST_DATA 0 event->group_leader->hw.dyn_constraint 0-u64max
HOST_DATA 0 event->group_leader->hw.event_base 0-u64max
HOST_DATA 0 event->group_leader->hw.event_base_rdpmc s32min-s32max
HOST_DATA 0 event->group_leader->hw.extra_reg.alloc s32min-s32max
HOST_DATA 0 event->group_leader->hw.extra_reg.config 0-u64max
HOST_DATA 0 event->group_leader->hw.extra_reg.idx s32min-s32max
HOST_DATA 0 event->group_leader->hw.extra_reg.reg 0-u32max
HOST_DATA 0 event->group_leader->hw.flags s32min-s32max
HOST_DATA 0 event->group_leader->hw.hrtimer._softexpires s64min-s64max
HOST_DATA 0 event->group_leader->hw.hrtimer.is_hard 0-1
HOST_DATA 0 event->group_leader->hw.hrtimer.is_lazy 0-1
HOST_DATA 0 event->group_leader->hw.hrtimer.is_queued 0-1
HOST_DATA 0 event->group_leader->hw.hrtimer.is_rel 0-1
HOST_DATA 0 event->group_leader->hw.hrtimer.is_soft 0-1
HOST_DATA 0 event->group_leader->hw.hrtimer.node.expires s64min-s64max
HOST_DATA 0 event->group_leader->hw.hrtimer.node.node.node.__rb_parent_color 1
HOST_DATA 0 event->group_leader->hw.idx s32min-s32max
HOST_DATA 0 event->group_leader->hw.info.address 0-u64max
HOST_DATA 0 event->group_leader->hw.info.len 0-255
HOST_DATA 0 event->group_leader->hw.info.mask 0-u64max
HOST_DATA 0 event->group_leader->hw.info.type 0-255
HOST_DATA 0 event->group_leader->hw.iommu_bank 0-255
HOST_DATA 0 event->group_leader->hw.iommu_cntr 0-255
HOST_DATA 0 event->group_leader->hw.last_cpu s32min-s32max
HOST_DATA 0 event->group_leader->hw.last_period 0-u64max
HOST_DATA 0 event->group_leader->hw.last_tag 0-u64max
HOST_DATA 0 event->group_leader->hw.padding 0-u16max
HOST_DATA 0 event->group_leader->hw.period_left.a.a.counter s64min-s64max
HOST_DATA 0 event->group_leader->hw.prev_count.a.a.counter s64min-s64max
HOST_DATA 0 event->group_leader->hw.ptsc 0-u64max
HOST_DATA 0 event->group_leader->hw.pwr_acc 0-u64max
HOST_DATA 0 event->group_leader->hw.saved_metric 0-u64max
HOST_DATA 0 event->group_leader->hw.saved_slots 0-u64max
HOST_DATA 0 event->hw->addr_filters_gen 0-u64max
HOST_DATA 0 event->hw->freq_count_stamp 0-u64max
HOST_DATA 0 event->hw->freq_time_stamp 0-u64max
HOST_DATA 0 event->hw->interrupts 0-u64max
HOST_DATA 0 event->hw->interrupts_seq 0-u64max
HOST_DATA 0 event->hw->sample_period 0-u64max
HOST_DATA 0 event->hw->state s32min-s32max
HOST_DATA 0 event->hw.aux_config 0-u64max
HOST_DATA 0 event->hw.aux_paused 0-u32max
HOST_DATA 0 event->hw.branch_reg.alloc s32min-s32max
HOST_DATA 0 event->hw.branch_reg.config 0-u64max
HOST_DATA 0 event->hw.branch_reg.idx s32min-s32max
HOST_DATA 0 event->hw.branch_reg.reg 0-u32max
HOST_DATA 0 event->hw.conf 0-u64max
HOST_DATA 0 event->hw.conf1 0-u64max
HOST_DATA 0 event->hw.config 0-u64max
HOST_DATA 0 event->hw.config1 0-u64max
HOST_DATA 0 event->hw.config_base 0-u64max
HOST_DATA 0 event->hw.dyn_constraint 0-u64max
HOST_DATA 0 event->hw.event_base 0-u64max
HOST_DATA 0 event->hw.event_base_rdpmc s32min-s32max
HOST_DATA 0 event->hw.extra_reg.alloc s32min-s32max
HOST_DATA 0 event->hw.extra_reg.config 0-u64max
HOST_DATA 0 event->hw.extra_reg.idx s32min-s32max
HOST_DATA 0 event->hw.extra_reg.reg 0-u32max
HOST_DATA 0 event->hw.flags s32min-s32max
HOST_DATA 0 event->hw.hrtimer._softexpires s64min-s64max
HOST_DATA 0 event->hw.hrtimer.is_hard 0-1
HOST_DATA 0 event->hw.hrtimer.is_lazy 0-1
HOST_DATA 0 event->hw.hrtimer.is_queued 0
HOST_DATA 0 event->hw.hrtimer.is_rel 0-1
HOST_DATA 0 event->hw.hrtimer.is_soft 0-1
HOST_DATA 0 event->hw.hrtimer.node.expires s64min-s64max
HOST_DATA 0 event->hw.hrtimer.node.node.node.__rb_parent_color 1
HOST_DATA 0 event->hw.idx s32min-s32max
HOST_DATA 0 event->hw.info.address 0-u64max
HOST_DATA 0 event->hw.info.len 0-255
HOST_DATA 0 event->hw.info.mask 0-u64max
HOST_DATA 0 event->hw.info.type 0-255
HOST_DATA 0 event->hw.iommu_bank 0-255
HOST_DATA 0 event->hw.iommu_cntr 0-255
HOST_DATA 0 event->hw.last_cpu s32min-s32max
HOST_DATA 0 event->hw.last_period 0-u64max
HOST_DATA 0 event->hw.last_tag 0-u64max
HOST_DATA 0 event->hw.padding 0-u16max
HOST_DATA 0 event->hw.period_left.a.a.counter s64min-s64max
HOST_DATA 0 event->hw.prev_count.a.a.counter s64min-s64max
HOST_DATA 0 event->hw.ptsc 0-u64max
HOST_DATA 0 event->hw.pwr_acc 0-u64max
HOST_DATA 0 event->hw.saved_metric 0-u64max
HOST_DATA 0 event->hw.saved_slots 0-u64max
USER_DATA 0 event->attr.bp_addr 0-u64max[c]
USER_DATA 0 event->attr.bp_len 0-u64max
USER_DATA 0 event->attr.bp_type 2-4[c]
USER_DATA 0 event->attr.disabled 0[c]
USER_DATA 0 event->attr.sig_data 0-u64max
USER_DATA 0 event->hw.info.address 0-s32max[c]
USER_DATA 0 event->hw.info.mask 2,4-6,u64max[u]
UNITS 0 event unit_byte
UNITS 1 ctx unit_byte
HALF_LOCKED2 &cpuctx->ctx.lock
HALF_LOCKED2 &cpuctx->ctx.lock
HALF_LOCKED2 irq
HALF_LOCKED2 0 &event->child_mutex
HALF_LOCKED2 1 &ctx->lock
TYPE_LOCK (struct perf_event_context)->lock

kernel/events/core.c list_add_event() -> perf_cgroup_event_enable()

Type Parameter Key Value
PARAM_VALUE 0 event 4096-ptr_max
PARAM_VALUE 0 event->cgrp 0,4096-ptr_max
PARAM_VALUE 0 event->ctx 4096-ptr_max
PARAM_VALUE 0 event->ctx->task 0-18446744073709551614
PARAM_VALUE 0 event->event_entry.next 4096-ptr_max
PARAM_VALUE 0 event->event_entry.prev 4096-ptr_max
PARAM_VALUE 0 event->hw.flags s32min-(-1)
PARAM_VALUE 0 event->state 0-s32max
PARAM_VALUE 1 ctx 4096-ptr_max
PARAM_VALUE 1 ctx->event_list.next 4096-ptr_max
PARAM_VALUE 1 ctx->event_list.next->prev 4096-ptr_max
PARAM_VALUE 1 ctx->task 0-18446744073709551614
PARAM_VALUE 1 ctx->task->sched_class->balance 0,4895810773273071616,6490409225490120704,7260575883162300416,8638459336928428032
PARAM_VALUE 1 ctx->task->sched_class->dequeue_task 0,144070366336110592,1947835499009560576,6189267449403002880,6455432424639717376,6899636822736904192
PARAM_VALUE 1 ctx->task->sched_class->enqueue_task 0,126196709549080576,1834828045319467008,6555940243012698112,7779016139136778240
PARAM_VALUE 1 ctx->task->sched_class->find_lock_rq 0,1273389266380275712,1330506845949976576,2186316422496772096,3746302679399247872,7992910395761221632
PARAM_VALUE 1 ctx->task->sched_class->get_prio 0,5165838827171962880,5589494719909007360,5857971317054578688,7142770315824652288
PARAM_VALUE 1 ctx->task->sched_class->get_rr_interval 0,160577115725877248,5264859755264851968,8566262156424376320
PARAM_VALUE 1 ctx->task->sched_class->migrate_task_rq 0,819017430815793152,1111187247153754112,1774144038744014848,2097362150474280960,4715741308934107136,8429637501012336640,8680431057181843456
PARAM_VALUE 1 ctx->task->sched_class->pick_task 0,431140902756892672,1158575681758597120,5720692379550740480,7102393387566546944,7546922302727954432,7601726578106748928
PARAM_VALUE 1 ctx->task->sched_class->prio_changed 0,1146300274019463168,2737281516638617600,4228469244769832960,5589494719909007360,6494577740674654208,7383617159121645568
PARAM_VALUE 1 ctx->task->sched_class->put_prev_task 0,879997059321819136,2104802920512651264,2702168970777976832,3309484659987406848,4521943768044347392,6061791611826737152
PARAM_VALUE 1 ctx->task->sched_class->reweight_task 0,1146300274019463168,2737281516638617600,4228469244769832960,5264859755264851968,6494577740674654208,7383617159121645568
PARAM_VALUE 1 ctx->task->sched_class->rq_offline 0,1273389266380275712,1603218695044562944,3746302679399247872,3838970304731508736,6105480162315575296,7992910395761221632
PARAM_VALUE 1 ctx->task->sched_class->rq_online 0,1603218695044562944,1927640468783054848,3838970304731508736,5094656021401329664,6105480162315575296,7127180339355369472
PARAM_VALUE 1 ctx->task->sched_class->select_task_rq 0,819017430815793152,1774144038744014848,2097362150474280960,2315212163512696832,4028699749262393344,4361835877848195072,6461874264613330944,8232387521787854848,8429637501012336640,8680431057181843456
PARAM_VALUE 1 ctx->task->sched_class->set_cpus_allowed 0,1927640468783054848,4090974917235912704,4284209241675612160,5094656021401329664,7127180339355369472
PARAM_VALUE 1 ctx->task->sched_class->set_next_task 0,879997059321819136,2104802920512651264,2315212163512696832,3309484659987406848,4028699749262393344,4361835877848195072,4521943768044347392,6061791611826737152,6461874264613330944,8232387521787854848
PARAM_VALUE 1 ctx->task->sched_class->switched_from 0,2762873923526262784,6932178706407411712,8530452231382753280,8897597262779232256
PARAM_VALUE 1 ctx->task->sched_class->switched_to 0,1207858565835722752,5165838827171962880,5857971317054578688,6355784522873475072,7142770315824652288
PARAM_VALUE 1 ctx->task->sched_class->switching_from 0,2762873923526262784,6742757381008068608
PARAM_VALUE 1 ctx->task->sched_class->switching_to 0,1207858565835722752,6355784522873475072,6932178706407411712,8530452231382753280,8897597262779232256
PARAM_VALUE 1 ctx->task->sched_class->task_change_group 0,2420086066110373888,2446272091500916736,2561397482238263296,2943871782664327168,7251702690162270208,8139140255186919424
PARAM_VALUE 1 ctx->task->sched_class->task_dead 0,1181151505743122432,6092562452304658432,6742757381008068608
PARAM_VALUE 1 ctx->task->sched_class->task_fork 0,1093040616512942080,1181151505743122432,4602209053340655616,5021036204559331328,6092562452304658432,6268546278195412992,7031988722367209472
PARAM_VALUE 1 ctx->task->sched_class->task_is_throttled 0,626302238049026048,4879098428662644736,6508522699847725056,7251702690162270208
PARAM_VALUE 1 ctx->task->sched_class->task_tick 0,1093040616512942080,1330506845949976576,2186316422496772096,4602209053340655616,5021036204559331328,6268546278195412992,7031988722367209472
PARAM_VALUE 1 ctx->task->sched_class->task_woken 0,1111187247153754112,4090974917235912704,4284209241675612160,4715741308934107136
PARAM_VALUE 1 ctx->task->sched_class->uclamp_enabled 0-1
PARAM_VALUE 1 ctx->task->sched_class->update_curr 0,160577115725877248,2420086066110373888,2446272091500916736,2561397482238263296,2943871782664327168,8139140255186919424,8566262156424376320
PARAM_VALUE 1 ctx->task->sched_class->wakeup_preempt 0,1077039320164851712,1147033115188453376,2990157993661198336,6476960569952718848,6679893776262037504
PARAM_VALUE 1 ctx->task->sched_class->yield_task 0,2190573298372911104,3192817945493614592,3256919456170586112,7456815790656131072
PARAM_VALUE 1 ctx->task->sched_class->yield_to_task 0,3940359203731251200
BUF_SIZE 0 event s32min-(-1),1-s32max
BUF_SIZE 0 event s32min-(-1),1-s32max
BUF_SIZE 0 event->ctx (-1)-0,432
BUF_SIZE 0 event->pmu_ctx (-1),112
BUF_SIZE 1 ctx (-1)-0,432
BUF_SIZE 1 ctx (-1)-0,432
CAPPED_DATA 0 event 1
CAPPED_DATA 1 ctx 1
CAPPED_DATA 1 ctx->task 1
DATA_SOURCE 0 event $0
DATA_SOURCE 1 ctx $1
FUZZY_MAX 0 event->state 0
STR_LEN 0 event->ctx (-1)
BIT_INFO 0 event->attach_state 0x1,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 event unit_byte
UNITS 1 ctx unit_byte
HALF_LOCKED2 &cpuctx->ctx.lock
HALF_LOCKED2 &parent_ctx->mutex
HALF_LOCKED2 &parent_event->child_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
HALF_LOCKED2 1 &ctx->lock
HALF_LOCKED2 1 &ctx->mutex
TYPE_LOCK (struct perf_event_context)->lock