Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 3 files:
- arch/s390/kernel/perf_cpum_sf.c, line 648
- arch/x86/events/intel/ds.c, line 1214
- kernel/events/core.c
Smatch caller information:
arch/x86/events/intel/ds.c intel_pmu_drain_bts_buffer() -> perf_prepare_sample()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | data | 4873996044617789440 |
| PARAM_VALUE | 0 | data->dyn_size | 0 |
| PARAM_VALUE | 0 | data->sample_flags | 256 |
| PARAM_VALUE | 1 | event | 4096-ptr_max |
| PARAM_VALUE | 2 | regs | 3061644175770013696 |
| MEM_ZERO | 2 | regs | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | rcu_read |
kernel/events/core.c __perf_event_output() -> perf_prepare_sample()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | data->aux_size | 0,8-18446744073709547520 |
| PARAM_VALUE | 0 | data->code_page_size | 0,4096,2097152,1073741824 |
| PARAM_VALUE | 0 | data->cpu_entry.cpu | 0 |
| PARAM_VALUE | 0 | data->cpu_entry.reserved | 0 |
| PARAM_VALUE | 0 | data->data_page_size | 0,4096,2097152,1073741824 |
| PARAM_VALUE | 0 | data->data_src.val | 0,256-u64max |
| PARAM_VALUE | 0 | data->raw | 0,1660871988697665536,2136298029545185280,4871532738126876672,8193533939451559936 |
| PARAM_VALUE | 0 | data->raw->frag.next | 0-u32max |
| PARAM_VALUE | 0 | data->raw->frag.pad | 0-u32max |
| PARAM_VALUE | 0 | data->raw->size | 0-2147483643,4294967292-u32max |
| PARAM_VALUE | 0 | data->regs_intr.abi | 0-2 |
| PARAM_VALUE | 0 | data->regs_user.abi | 0-2 |
| PARAM_VALUE | 0 | data->stack_user_size | 0-u16max |
| PARAM_VALUE | 0 | data->tid_entry.pid | 0-s32max,u32max |
| PARAM_VALUE | 0 | data->tid_entry.tid | 0-s32max,u32max |
| PARAM_VALUE | 0 | data->txn | 0-1099511627775 |
| DATA_SOURCE | 0 | data | $1 |
| DATA_SOURCE | 1 | event | $0 |
| DATA_SOURCE | 2 | regs | $2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 1 | event->aux_event->hw->addr_filters_gen | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw->freq_count_stamp | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw->freq_time_stamp | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw->interrupts | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw->interrupts_seq | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw->sample_period | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw->state | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.aux_config | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.aux_paused | 0 |
| HOST_DATA | 1 | event->aux_event->hw.branch_reg.alloc | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.branch_reg.config | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.branch_reg.idx | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.branch_reg.reg | 0-u32max |
| HOST_DATA | 1 | event->aux_event->hw.conf | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.conf1 | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.config | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.config1 | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.config_base | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.dyn_constraint | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.event_base | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.event_base_rdpmc | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.extra_reg.alloc | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.extra_reg.config | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.extra_reg.idx | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.extra_reg.reg | 0-u32max |
| HOST_DATA | 1 | event->aux_event->hw.flags | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.hrtimer._softexpires | s64min-s64max |
| HOST_DATA | 1 | event->aux_event->hw.hrtimer.is_hard | 0-1 |
| HOST_DATA | 1 | event->aux_event->hw.hrtimer.is_lazy | 0-1 |
| HOST_DATA | 1 | event->aux_event->hw.hrtimer.is_queued | 0-1 |
| HOST_DATA | 1 | event->aux_event->hw.hrtimer.is_rel | 0-1 |
| HOST_DATA | 1 | event->aux_event->hw.hrtimer.is_soft | 0-1 |
| HOST_DATA | 1 | event->aux_event->hw.hrtimer.node.expires | s64min-s64max |
| HOST_DATA | 1 | event->aux_event->hw.hrtimer.node.node.node.__rb_parent_color | 1 |
| HOST_DATA | 1 | event->aux_event->hw.idx | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.info.address | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.info.len | 0-255 |
| HOST_DATA | 1 | event->aux_event->hw.info.mask | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.info.type | 0-255 |
| HOST_DATA | 1 | event->aux_event->hw.iommu_bank | 0-255 |
| HOST_DATA | 1 | event->aux_event->hw.iommu_cntr | 0-255 |
| HOST_DATA | 1 | event->aux_event->hw.last_cpu | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.last_period | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.last_tag | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.padding | 0-u16max |
| HOST_DATA | 1 | event->aux_event->hw.period_left.a.a.counter | s64min-s64max |
| HOST_DATA | 1 | event->aux_event->hw.prev_count.a.a.counter | s64min-s64max |
| HOST_DATA | 1 | event->aux_event->hw.ptsc | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.pwr_acc | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.saved_metric | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.saved_slots | 0-u64max |
| HOST_DATA | 1 | event->hw->addr_filters_gen | 0-u64max |
| HOST_DATA | 1 | event->hw->freq_count_stamp | 0-u64max |
| HOST_DATA | 1 | event->hw->freq_time_stamp | 0-u64max |
| HOST_DATA | 1 | event->hw->interrupts | 0-u64max |
| HOST_DATA | 1 | event->hw->interrupts_seq | 0-u64max |
| HOST_DATA | 1 | event->hw->sample_period | 0-u64max |
| HOST_DATA | 1 | event->hw->state | s32min-s32max |
| HOST_DATA | 1 | event->hw.aux_config | 0-u64max |
| HOST_DATA | 1 | event->hw.aux_paused | 0-u32max |
| HOST_DATA | 1 | event->hw.branch_reg.alloc | s32min-s32max |
| HOST_DATA | 1 | event->hw.branch_reg.config | 0-u64max |
| HOST_DATA | 1 | event->hw.branch_reg.idx | s32min-s32max |
| HOST_DATA | 1 | event->hw.branch_reg.reg | 0-u32max |
| HOST_DATA | 1 | event->hw.conf | 0-u64max |
| HOST_DATA | 1 | event->hw.conf1 | 0-u64max |
| HOST_DATA | 1 | event->hw.config | 0-u64max |
| HOST_DATA | 1 | event->hw.config1 | 0-u64max |
| HOST_DATA | 1 | event->hw.config_base | 0-u64max |
| HOST_DATA | 1 | event->hw.dyn_constraint | 0-u64max |
| HOST_DATA | 1 | event->hw.event_base | 0-u64max |
| HOST_DATA | 1 | event->hw.event_base_rdpmc | s32min-s32max |
| HOST_DATA | 1 | event->hw.extra_reg.alloc | s32min-s32max |
| HOST_DATA | 1 | event->hw.extra_reg.config | 0-u64max |
| HOST_DATA | 1 | event->hw.extra_reg.idx | s32min-s32max |
| HOST_DATA | 1 | event->hw.extra_reg.reg | 0-u32max |
| HOST_DATA | 1 | event->hw.flags | s32min-s32max |
| HOST_DATA | 1 | event->hw.hrtimer._softexpires | s64min-s64max |
| HOST_DATA | 1 | event->hw.hrtimer.is_hard | 0-1 |
| HOST_DATA | 1 | event->hw.hrtimer.is_lazy | 0-1 |
| HOST_DATA | 1 | event->hw.hrtimer.is_queued | 0-1 |
| HOST_DATA | 1 | event->hw.hrtimer.is_rel | 0-1 |
| HOST_DATA | 1 | event->hw.hrtimer.is_soft | 0-1 |
| HOST_DATA | 1 | event->hw.hrtimer.node.expires | s64min-s64max |
| HOST_DATA | 1 | event->hw.hrtimer.node.node.node.__rb_parent_color | 1 |
| HOST_DATA | 1 | event->hw.idx | s32min-s32max |
| HOST_DATA | 1 | event->hw.info.address | 0-u64max |
| HOST_DATA | 1 | event->hw.info.len | 0-255 |
| HOST_DATA | 1 | event->hw.info.mask | 0-u64max |
| HOST_DATA | 1 | event->hw.info.type | 0-255 |
| HOST_DATA | 1 | event->hw.iommu_bank | 0-255 |
| HOST_DATA | 1 | event->hw.iommu_cntr | 0-255 |
| HOST_DATA | 1 | event->hw.last_cpu | s32min-s32max |
| HOST_DATA | 1 | event->hw.last_period | 0-u64max |
| HOST_DATA | 1 | event->hw.last_tag | 0-u64max |
| HOST_DATA | 1 | event->hw.padding | 0-u16max |
| HOST_DATA | 1 | event->hw.period_left.a.a.counter | s64min-s64max |
| HOST_DATA | 1 | event->hw.prev_count.a.a.counter | s64min-s64max |
| HOST_DATA | 1 | event->hw.ptsc | 0-u64max |
| HOST_DATA | 1 | event->hw.pwr_acc | 0-u64max |
| HOST_DATA | 1 | event->hw.saved_metric | 0-u64max |
| HOST_DATA | 1 | event->hw.saved_slots | 0-u64max |
| USER_DATA | 0 | data->dyn_size | 0-s32max[c][u] |
| USER_DATA | 0 | data->raw->frag.size | 0-u32max[u] |
| USER_DATA | 0 | data->raw->size | 0-2147483643,4294967292-u32max |
| NO_OVERFLOW_SIMPLE | 0 | data->raw->frag.size | |
| LOCK2 | rcu_read |
kernel/events/core.c bpf_overflow_handler() -> perf_prepare_sample()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | data->aux_size | 0,8-18446744073709547520 |
| PARAM_VALUE | 0 | data->code_page_size | 0,4096,2097152,1073741824 |
| PARAM_VALUE | 0 | data->cpu_entry.cpu | 0 |
| PARAM_VALUE | 0 | data->cpu_entry.reserved | 0 |
| PARAM_VALUE | 0 | data->data_page_size | 0,4096,2097152,1073741824 |
| PARAM_VALUE | 0 | data->data_src.mem_dtlb | 1,10,18,20 |
| PARAM_VALUE | 0 | data->data_src.mem_lock | 1-2 |
| PARAM_VALUE | 0 | data->data_src.mem_lvl | 0,10,12 |
| PARAM_VALUE | 0 | data->data_src.mem_op | 1-2,4 |
| PARAM_VALUE | 0 | data->data_src.mem_snoop | 1,16 |
| PARAM_VALUE | 0 | data->data_src.val | 0,256-u64max |
| PARAM_VALUE | 0 | data->raw | 0,1660871988697665536,2136298029545185280,4871532738126876672,8193533939451559936 |
| PARAM_VALUE | 0 | data->raw->frag.next | 0-u32max |
| PARAM_VALUE | 0 | data->raw->frag.pad | 0-u32max |
| PARAM_VALUE | 0 | data->raw->size | 0-2147483643,4294967292-u32max |
| PARAM_VALUE | 0 | data->regs_intr.abi | 0-2 |
| PARAM_VALUE | 0 | data->regs_user.abi | 0-2 |
| PARAM_VALUE | 0 | data->stack_user_size | 0-u16max |
| PARAM_VALUE | 0 | data->tid_entry.pid | 0-s32max,u32max |
| PARAM_VALUE | 0 | data->tid_entry.tid | 0-s32max,u32max |
| PARAM_VALUE | 0 | data->txn | 0-1099511627775 |
| PARAM_VALUE | 1 | event | 4096-ptr_max |
| PARAM_VALUE | 1 | event->attr.sample_period | 1-u64max |
| PARAM_VALUE | 1 | event->hw.sample_period | 1-u64max |
| PARAM_VALUE | 1 | event->prog | 4096-ptr_max |
| PARAM_VALUE | 1 | event->prog->type | 7 |
| PARAM_VALUE | 2 | regs | 1-u64max |
| BUF_SIZE | 2 | regs | (-1),168 |
| BUF_SIZE | 2 | regs | (-1),168 |
| DATA_SOURCE | 0 | data | $1 |
| DATA_SOURCE | 1 | event | $0 |
| DATA_SOURCE | 2 | regs | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 1 | event->aux_event->hw->addr_filters_gen | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw->freq_count_stamp | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw->freq_time_stamp | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw->interrupts | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw->interrupts_seq | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw->sample_period | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw->state | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.aux_config | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.aux_paused | 0 |
| HOST_DATA | 1 | event->aux_event->hw.branch_reg.alloc | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.branch_reg.config | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.branch_reg.idx | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.branch_reg.reg | 0-u32max |
| HOST_DATA | 1 | event->aux_event->hw.conf | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.conf1 | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.config | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.config1 | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.config_base | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.dyn_constraint | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.event_base | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.event_base_rdpmc | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.extra_reg.alloc | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.extra_reg.config | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.extra_reg.idx | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.extra_reg.reg | 0-u32max |
| HOST_DATA | 1 | event->aux_event->hw.flags | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.hrtimer._softexpires | s64min-s64max |
| HOST_DATA | 1 | event->aux_event->hw.hrtimer.is_hard | 0-1 |
| HOST_DATA | 1 | event->aux_event->hw.hrtimer.is_lazy | 0-1 |
| HOST_DATA | 1 | event->aux_event->hw.hrtimer.is_queued | 0-1 |
| HOST_DATA | 1 | event->aux_event->hw.hrtimer.is_rel | 0-1 |
| HOST_DATA | 1 | event->aux_event->hw.hrtimer.is_soft | 0-1 |
| HOST_DATA | 1 | event->aux_event->hw.hrtimer.node.expires | s64min-s64max |
| HOST_DATA | 1 | event->aux_event->hw.hrtimer.node.node.node.__rb_parent_color | 1 |
| HOST_DATA | 1 | event->aux_event->hw.idx | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.info.address | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.info.len | 0-255 |
| HOST_DATA | 1 | event->aux_event->hw.info.mask | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.info.type | 0-255 |
| HOST_DATA | 1 | event->aux_event->hw.iommu_bank | 0-255 |
| HOST_DATA | 1 | event->aux_event->hw.iommu_cntr | 0-255 |
| HOST_DATA | 1 | event->aux_event->hw.last_cpu | s32min-s32max |
| HOST_DATA | 1 | event->aux_event->hw.last_period | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.last_tag | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.padding | 0-u16max |
| HOST_DATA | 1 | event->aux_event->hw.period_left.a.a.counter | s64min-s64max |
| HOST_DATA | 1 | event->aux_event->hw.prev_count.a.a.counter | s64min-s64max |
| HOST_DATA | 1 | event->aux_event->hw.ptsc | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.pwr_acc | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.saved_metric | 0-u64max |
| HOST_DATA | 1 | event->aux_event->hw.saved_slots | 0-u64max |
| HOST_DATA | 1 | event->hw->addr_filters_gen | 0-u64max |
| HOST_DATA | 1 | event->hw->freq_count_stamp | 0-u64max |
| HOST_DATA | 1 | event->hw->freq_time_stamp | 0-u64max |
| HOST_DATA | 1 | event->hw->interrupts | 0-u64max |
| HOST_DATA | 1 | event->hw->interrupts_seq | 0-u64max |
| HOST_DATA | 1 | event->hw->sample_period | 0-u64max |
| HOST_DATA | 1 | event->hw->state | s32min-s32max |
| HOST_DATA | 1 | event->hw.aux_config | 0-u64max |
| HOST_DATA | 1 | event->hw.aux_paused | 0-u32max |
| HOST_DATA | 1 | event->hw.branch_reg.alloc | s32min-s32max |
| HOST_DATA | 1 | event->hw.branch_reg.config | 0-u64max |
| HOST_DATA | 1 | event->hw.branch_reg.idx | s32min-s32max |
| HOST_DATA | 1 | event->hw.branch_reg.reg | 0-u32max |
| HOST_DATA | 1 | event->hw.conf | 0-u64max |
| HOST_DATA | 1 | event->hw.conf1 | 0-u64max |
| HOST_DATA | 1 | event->hw.config | 0-u64max |
| HOST_DATA | 1 | event->hw.config1 | 0-u64max |
| HOST_DATA | 1 | event->hw.config_base | 0-u64max |
| HOST_DATA | 1 | event->hw.dyn_constraint | 0-u64max |
| HOST_DATA | 1 | event->hw.event_base | 0-u64max |
| HOST_DATA | 1 | event->hw.event_base_rdpmc | s32min-s32max |
| HOST_DATA | 1 | event->hw.extra_reg.alloc | s32min-s32max |
| HOST_DATA | 1 | event->hw.extra_reg.config | 0-u64max |
| HOST_DATA | 1 | event->hw.extra_reg.idx | s32min-s32max |
| HOST_DATA | 1 | event->hw.extra_reg.reg | 0-u32max |
| HOST_DATA | 1 | event->hw.flags | s32min-s32max |
| HOST_DATA | 1 | event->hw.hrtimer._softexpires | s64min-s64max |
| HOST_DATA | 1 | event->hw.hrtimer.is_hard | 0-1 |
| HOST_DATA | 1 | event->hw.hrtimer.is_lazy | 0-1 |
| HOST_DATA | 1 | event->hw.hrtimer.is_queued | 0-1 |
| HOST_DATA | 1 | event->hw.hrtimer.is_rel | 0-1 |
| HOST_DATA | 1 | event->hw.hrtimer.is_soft | 0-1 |
| HOST_DATA | 1 | event->hw.hrtimer.node.expires | s64min-s64max |
| HOST_DATA | 1 | event->hw.hrtimer.node.node.node.__rb_parent_color | 1 |
| HOST_DATA | 1 | event->hw.idx | s32min-s32max |
| HOST_DATA | 1 | event->hw.info.address | 0-u64max |
| HOST_DATA | 1 | event->hw.info.len | 0-255 |
| HOST_DATA | 1 | event->hw.info.mask | 0-u64max |
| HOST_DATA | 1 | event->hw.info.type | 0-255 |
| HOST_DATA | 1 | event->hw.iommu_bank | 0-255 |
| HOST_DATA | 1 | event->hw.iommu_cntr | 0-255 |
| HOST_DATA | 1 | event->hw.last_cpu | s32min-s32max |
| HOST_DATA | 1 | event->hw.last_period | 0-u64max |
| HOST_DATA | 1 | event->hw.last_tag | 0-u64max |
| HOST_DATA | 1 | event->hw.padding | 0-u16max |
| HOST_DATA | 1 | event->hw.period_left.a.a.counter | s64min-s64max |
| HOST_DATA | 1 | event->hw.prev_count.a.a.counter | s64min-s64max |
| HOST_DATA | 1 | event->hw.ptsc | 0-u64max |
| HOST_DATA | 1 | event->hw.pwr_acc | 0-u64max |
| HOST_DATA | 1 | event->hw.saved_metric | 0-u64max |
| HOST_DATA | 1 | event->hw.saved_slots | 0-u64max |
| USER_DATA | 0 | data->addr | 1-u64max[c] |
| USER_DATA | 0 | data->dyn_size | 0-2148012219[c][u] |
| USER_DATA | 0 | data->phys_addr | 0-u64max[c] |
| USER_DATA | 0 | data->stack_user_size | 0-u16max[c] |
| USER_DATA | 2 | regs->ax | 0-u64max |
| USER_DATA | 2 | regs->cx | 0-u64max |
| USER_DATA | 2 | regs->r11 | 0-u64max |
| NO_OVERFLOW_SIMPLE | 2 | regs->dx | |
| UNITS | 1 | event | unit_byte |
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | _T->flags |