Defined in 1 files as a macro:

Defined in 4 files as a function:

Referenced in 5 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 event 4096-ptr_max
PARAM_VALUE 0 event->cgrp 0,4096-ptr_max
PARAM_VALUE 0 event->cpu (-1)-0
PARAM_VALUE 0 event->ctx 4096-ptr_max
PARAM_VALUE 0 event->group_leader 4096-ptr_max
PARAM_VALUE 0 event->pmu_ctx 4096-ptr_max
PARAM_VALUE 0 event->state 0
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
DATA_SOURCE 0 event $0
NOSPEC 0 event->attr.bp_type
RX_PATH
TASK_NOT_RUNNING
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
HALF_LOCKED2 &cpuctx->ctx.lock
HALF_LOCKED2 &cpuctx->ctx.lock
HALF_LOCKED2 &ctx->lock
HALF_LOCKED2 irq
HALF_LOCKED2 0 &event->child_mutex
TYPE_LOCK (struct perf_event_context)->lock

kernel/events/core.c __perf_install_in_context() -> get_event_type()

Type Parameter Key Value
PARAM_VALUE 0 event 4096-ptr_max
PARAM_VALUE 0 event->attach_state 0,2-u32max
PARAM_VALUE 0 event->cgrp 0,4096-ptr_max
PARAM_VALUE 0 event->ctx 4096-ptr_max
PARAM_VALUE 0 event->ctx->event_list.next 4096-ptr_max
PARAM_VALUE 0 event->ctx->event_list.next->prev 4096-ptr_max
PARAM_VALUE 0 event->ctx->is_active (-2147483640)-s32max
PARAM_VALUE 0 event->ctx->task 0,4096-ptr_max
PARAM_VALUE 0 event->event_entry.next 4096-ptr_max
PARAM_VALUE 0 event->event_entry.prev 4096-ptr_max
PARAM_VALUE 0 event->group_leader->group_caps 0-s32max
PARAM_VALUE 0 event->group_leader->sibling_list.prev 4096-ptr_max
PARAM_VALUE 0 event->group_leader->sibling_list.prev->next 4096-ptr_max
PARAM_VALUE 0 event->group_leader->sibling_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 event->group_node.__rb_parent_color 1
PARAM_VALUE 0 event->group_node.rb_left 4096-ptr_max
PARAM_VALUE 0 event->group_node.rb_right 4096-ptr_max
PARAM_VALUE 0 event->hw.flags s32min-(-1)
PARAM_VALUE 0 event->pmu_ctx 4096-ptr_max
PARAM_VALUE 0 event->sibling_list.next 4096-ptr_max
BUF_SIZE 0 event s32min-(-2),1-s32max
BUF_SIZE 0 event s32min-(-2),1-s32max
CAPPED_DATA 0 event 1
CAPPED_DATA 0 event->ctx 1
DATA_SOURCE 0 event $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &cpuctx->ctx.lock
HALF_LOCKED2 &ctx->lock
HALF_LOCKED2 &task_ctx->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct perf_event_context)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 event 4096-ptr_max
PARAM_VALUE 0 event->attr.enable_on_exec 0
LOCK2 &cpuctx->ctx.lock
LOCK2 &ctx->lock
LOCK2 &tsk->signal->exec_update_lock
LOCK2 flags
TYPE_LOCK (struct perf_event_context)->lock