Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 4 files:

Smatch caller information:

arch/x86/kvm/pmu.c pmc_resume_counter() -> perf_event_period()

Type Parameter Key Value
PARAM_VALUE 0 event 4096-ptr_max
PARAM_VALUE 0 event->active_list.next->prev 4096-ptr_max
PARAM_VALUE 0 event->active_list.prev->next 4096-ptr_max
PARAM_VALUE 0 event->addr_filters.list.next->prev 4096-ptr_max
PARAM_VALUE 0 event->addr_filters.lock.owner (-1)
PARAM_VALUE 0 event->addr_filters.lock.owner_cpu u32max
PARAM_VALUE 0 event->attr.sample_period 1-u64max
PARAM_VALUE 0 event->aux_event 0
PARAM_VALUE 0 event->aux_event->addr_filters.list.next->prev 4096-ptr_max
PARAM_VALUE 0 event->aux_event->addr_filters.lock.owner (-1)
PARAM_VALUE 0 event->aux_event->addr_filters.lock.owner_cpu u32max
PARAM_VALUE 0 event->aux_event->callback_head.func 1-u64max
PARAM_VALUE 0 event->aux_event->ctx->callback_head.func 1-u64max
PARAM_VALUE 0 event->aux_event->ctx->task->rcu.func 1-u64max
PARAM_VALUE 0 event->aux_event->ftrace_ops.func_hash->filter_hash 3175483717725929472
PARAM_VALUE 0 event->aux_event->ftrace_ops.func_hash->notrace_hash 3175483717725929472
PARAM_VALUE 0 event->aux_event->hw.target->perf_ctx_data->callback_head.func 1-u64max
PARAM_VALUE 0 event->aux_event->hw.target->rcu.func 1-u64max
PARAM_VALUE 0 event->aux_event->parent->callback_head.func 1-u64max
PARAM_VALUE 0 event->aux_event->parent->ctx->callback_head.func 1-u64max
PARAM_VALUE 0 event->aux_event->parent->ftrace_ops.func_hash->filter_hash 3175483717725929472
PARAM_VALUE 0 event->aux_event->parent->ftrace_ops.func_hash->notrace_hash 3175483717725929472
PARAM_VALUE 0 event->aux_event->parent->pmu->module->refcnt.counter 0-s32max
PARAM_VALUE 0 event->aux_event->parent->pmu_ctx->pmu_ctx_entry.next->prev 4096-ptr_max
PARAM_VALUE 0 event->aux_event->parent->pmu_ctx->pmu_ctx_entry.prev->next 4096-ptr_max
PARAM_VALUE 0 event->aux_event->parent->rb_entry.next 4096-ptr_max
PARAM_VALUE 0 event->aux_event->parent->rcu_batches 0,4-u64max
PARAM_VALUE 0 event->aux_event->parent->rcu_pending 0-1
PARAM_VALUE 0 event->aux_event->parent->sb_list.next->prev 4096-ptr_max
PARAM_VALUE 0 event->aux_event->parent->tp_event->data->put_work.flags 0-4294967295
PARAM_VALUE 0 event->aux_event->parent->tp_event->data->put_work.is_hard 0-1
PARAM_VALUE 0 event->aux_event->parent->tp_event->data->put_work.is_lazy 0-1
PARAM_VALUE 0 event->aux_event->parent->tp_event->data->put_work.is_queued 0-1
PARAM_VALUE 0 event->aux_event->parent->tp_event->data->put_work.is_soft 0-1
PARAM_VALUE 0 event->aux_event->parent->tp_event->data->refcnt.refs.counter s32min-s32max
PARAM_VALUE 0 event->aux_event->parent->tp_event->data->status 0-2,128,130
PARAM_VALUE 0 event->aux_event->parent->tp_event->module->refcnt.counter 0-s32max
PARAM_VALUE 0 event->aux_event->pmu->module->refcnt.counter 0-s32max
PARAM_VALUE 0 event->aux_event->pmu_ctx->callback_head.func 1-u64max
PARAM_VALUE 0 event->aux_event->pmu_ctx->pmu_ctx_entry.next->prev 4096-ptr_max
PARAM_VALUE 0 event->aux_event->pmu_ctx->pmu_ctx_entry.prev->next 4096-ptr_max
PARAM_VALUE 0 event->aux_event->rb_entry.next 4096-ptr_max
PARAM_VALUE 0 event->aux_event->tp_event->data->put_work.flags 0-4294967295
PARAM_VALUE 0 event->aux_event->tp_event->data->put_work.is_hard 0-1
PARAM_VALUE 0 event->aux_event->tp_event->data->put_work.is_lazy 0-1
PARAM_VALUE 0 event->aux_event->tp_event->data->put_work.is_queued 0-1
PARAM_VALUE 0 event->aux_event->tp_event->data->put_work.is_soft 0-1
PARAM_VALUE 0 event->aux_event->tp_event->data->refcnt.refs.counter s32min-s32max
PARAM_VALUE 0 event->aux_event->tp_event->data->status 0-2,128,130
PARAM_VALUE 0 event->aux_event->tp_event->module->refcnt.counter 0-s32max
PARAM_VALUE 0 event->callback_head.func 1-u64max
PARAM_VALUE 0 event->callback_head.next 0
PARAM_VALUE 0 event->child_list.next 4096-ptr_max
PARAM_VALUE 0 event->child_list.next->next 4096-ptr_max
PARAM_VALUE 0 event->child_list.next->prev 4096-ptr_max
PARAM_VALUE 0 event->child_list.prev 4096-ptr_max
PARAM_VALUE 0 event->child_list.prev->next 4096-ptr_max
PARAM_VALUE 0 event->child_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 event->ctx->lock.dep_map->name 0-255
PARAM_VALUE 0 event->ctx->lock.owner (-1)
PARAM_VALUE 0 event->ctx->lock.owner_cpu u32max
PARAM_VALUE 0 event->ctx->task->rcu.func 1-u64max
PARAM_VALUE 0 event->ctx->task->rcu.next 0
PARAM_VALUE 0 event->event_entry.next->prev 4096-ptr_max
PARAM_VALUE 0 event->ftrace_ops.func_hash->filter_hash 3175483717725929472
PARAM_VALUE 0 event->ftrace_ops.func_hash->notrace_hash 3175483717725929472
PARAM_VALUE 0 event->ftrace_ops.func_hash->regex_lock.first_waiter 0
PARAM_VALUE 0 event->ftrace_ops.func_hash->regex_lock.osq.tail.counter 0
PARAM_VALUE 0 event->ftrace_ops.func_hash->regex_lock.owner.counter 0
PARAM_VALUE 0 event->ftrace_ops.old_hash.filter_hash 0
PARAM_VALUE 0 event->ftrace_ops.old_hash.notrace_hash 0
PARAM_VALUE 0 event->group_index 0
PARAM_VALUE 0 event->group_leader->active_entry.next->prev 4096-ptr_max
PARAM_VALUE 0 event->group_leader->hw.addr_filters->nr_filters 0-s32max
PARAM_VALUE 0 event->group_leader->pmu 4096-ptr_max
PARAM_VALUE 0 event->group_leader->pmu_private->hrtimer.is_hard 0-1
PARAM_VALUE 0 event->group_leader->pmu_private->hrtimer.is_lazy 0-1
PARAM_VALUE 0 event->group_leader->pmu_private->hrtimer.is_queued 1
PARAM_VALUE 0 event->group_leader->pmu_private->hrtimer.is_soft 0-1
PARAM_VALUE 0 event->group_leader->pmu_private->lock->owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 event->group_leader->pmu_private->lock.owner (-1)
PARAM_VALUE 0 event->group_leader->pmu_private->lock.owner_cpu 4294967295
PARAM_VALUE 0 event->group_leader->pmu_private->lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 event->group_leader->pmu_private->n_active s32min-s32max
PARAM_VALUE 0 event->group_leader->rb->user_page->pmc_width 0-255
PARAM_VALUE 0 event->hw.addr_filters 0
PARAM_VALUE 0 event->hw.target->perf_ctx_data->callback_head.func 1-u64max
PARAM_VALUE 0 event->hw.target->perf_ctx_data->callback_head.next 0
PARAM_VALUE 0 event->hw.target->rcu.func 1-u64max
PARAM_VALUE 0 event->hw.target->rcu.next 0
PARAM_VALUE 0 event->mmap_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 event->parent->callback_head.func 1-u64max
PARAM_VALUE 0 event->parent->callback_head.next 0
PARAM_VALUE 0 event->parent->cgrp 0
PARAM_VALUE 0 event->parent->ctx->callback_head.func 1-u64max
PARAM_VALUE 0 event->parent->ctx->callback_head.next 0
PARAM_VALUE 0 event->parent->ftrace_ops.func_hash->filter_hash 3175483717725929472
PARAM_VALUE 0 event->parent->ftrace_ops.func_hash->notrace_hash 3175483717725929472
PARAM_VALUE 0 event->parent->ftrace_ops.func_hash->regex_lock.first_waiter 0
PARAM_VALUE 0 event->parent->ftrace_ops.func_hash->regex_lock.osq.tail.counter 0
PARAM_VALUE 0 event->parent->ftrace_ops.func_hash->regex_lock.owner.counter 0
PARAM_VALUE 0 event->parent->ftrace_ops.old_hash.filter_hash 0
PARAM_VALUE 0 event->parent->ftrace_ops.old_hash.notrace_hash 0
PARAM_VALUE 0 event->parent->hw.addr_filters 0
PARAM_VALUE 0 event->parent->hw.hrtimer.is_queued 0
PARAM_VALUE 0 event->parent->hw.hrtimer.node.node.next 0
PARAM_VALUE 0 event->parent->hw.hrtimer.node.node.prev 0
PARAM_VALUE 0 event->parent->mmap_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 event->parent->pending_disable_irq.irqwait.task 0
PARAM_VALUE 0 event->parent->pending_irq.irqwait.task 0
PARAM_VALUE 0 event->parent->pmu->module->refcnt.counter 0-s32max
PARAM_VALUE 0 event->parent->pmu_ctx->ctx 0
PARAM_VALUE 0 event->parent->pmu_ctx->pmu_ctx_entry.next->prev 4096-ptr_max
PARAM_VALUE 0 event->parent->pmu_ctx->pmu_ctx_entry.prev->next 4096-ptr_max
PARAM_VALUE 0 event->parent->pmu_private 0
PARAM_VALUE 0 event->parent->prog 0
PARAM_VALUE 0 event->parent->rb 0
PARAM_VALUE 0 event->parent->rb_entry.next 4096-ptr_max
PARAM_VALUE 0 event->parent->rcu_batches 0,4-u64max
PARAM_VALUE 0 event->parent->rcu_pending 0-1
PARAM_VALUE 0 event->parent->sb_list.next->prev 4096-ptr_max
PARAM_VALUE 0 event->parent->security 0
PARAM_VALUE 0 event->parent->tp_event->data->put_work.flags 0-4294967295
PARAM_VALUE 0 event->parent->tp_event->data->put_work.is_hard 0-1
PARAM_VALUE 0 event->parent->tp_event->data->put_work.is_lazy 0-1
PARAM_VALUE 0 event->parent->tp_event->data->put_work.is_queued 0-1
PARAM_VALUE 0 event->parent->tp_event->data->put_work.is_soft 0-1
PARAM_VALUE 0 event->parent->tp_event->data->refcnt.refs.counter s32min-s32max
PARAM_VALUE 0 event->parent->tp_event->data->status 0-2,128,130
PARAM_VALUE 0 event->parent->tp_event->module->refcnt.counter 0-s32max
PARAM_VALUE 0 event->parent->tp_event->perf_events 0
PARAM_VALUE 0 event->pmu->module->refcnt.counter 0-s32max
PARAM_VALUE 0 event->pmu_ctx->callback_head.func 1-u64max
PARAM_VALUE 0 event->pmu_ctx->callback_head.next 0
PARAM_VALUE 0 event->pmu_ctx->ctx 0
PARAM_VALUE 0 event->pmu_ctx->pmu_ctx_entry.next->prev 4096-ptr_max
PARAM_VALUE 0 event->pmu_ctx->pmu_ctx_entry.prev->next 4096-ptr_max
PARAM_VALUE 0 event->pmu_ctx->rotate_necessary 0
PARAM_VALUE 0 event->pmu_private 0
PARAM_VALUE 0 event->pmu_private->lock->owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 event->pmu_private->lock.dep_map->name 0-255
PARAM_VALUE 0 event->pmu_private->lock.owner (-1)
PARAM_VALUE 0 event->pmu_private->lock.owner_cpu 4294967295
PARAM_VALUE 0 event->pmu_private->lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 event->prog 0
PARAM_VALUE 0 event->rb 0
PARAM_VALUE 0 event->rb_entry.next 4096-ptr_max
PARAM_VALUE 0 event->security 0
PARAM_VALUE 0 event->sibling_list.next->prev 4096-ptr_max
PARAM_VALUE 0 event->sibling_list.prev->next 4096-ptr_max
PARAM_VALUE 0 event->tp_event->data->put_work.flags 0-4294967295
PARAM_VALUE 0 event->tp_event->data->put_work.is_hard 0-1
PARAM_VALUE 0 event->tp_event->data->put_work.is_lazy 0-1
PARAM_VALUE 0 event->tp_event->data->put_work.is_queued 0-1
PARAM_VALUE 0 event->tp_event->data->put_work.is_soft 0-1
PARAM_VALUE 0 event->tp_event->data->refcnt.refs.counter s32min-s32max
PARAM_VALUE 0 event->tp_event->data->status 0-2,128,130
PARAM_VALUE 0 event->tp_event->module->refcnt.counter 0-s32max
PARAM_VALUE 0 event->tp_event->perf_events 0
PARAM_VALUE 0 *event->aux_event->parent->hw.target->perf_ctx_data->global 0-1
PARAM_VALUE 0 *event->parent->hw.target->perf_ctx_data->global 0-1
PREEMPT_ADD
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 0-u64max
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
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex

arch/x86/kvm/pmu.c pmc_update_sample_period() -> perf_event_period()

Type Parameter Key Value
PARAM_VALUE 0 event 4096-ptr_max
PARAM_VALUE 0 event->attr.sample_period 1-u64max
NOCHECK_CALL