Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/events/core.c _free_event() -> ring_buffer_attach()

Type Parameter Key Value
PARAM_VALUE 0 event 4096-ptr_max
PARAM_VALUE 0 event->mmap_mutex.dep_map->name 0-255
PARAM_VALUE 0 event->mmap_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 event->mmap_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 event->mmap_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 event->mmap_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 event->mmap_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 event->mmap_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 event->pmu 4096-ptr_max
PARAM_VALUE 0 event->pmu->capabilities s32min-(-1),2048-s32max
PARAM_VALUE 0 event->rb 1-u64max
PARAM_VALUE 1 rb 0
BUF_SIZE 0 event s32min-(-1),1-s32max
BUF_SIZE 0 event s32min-(-1),1-s32max
BUF_SIZE 0 event->ctx (-1),432
BUF_SIZE 0 event->pmu_ctx (-1),112
CAPPED_DATA 0 event 1
CAPPED_DATA 0 &event->mmap_mutex 1
DATA_SOURCE 0 event $0
PREEMPT_ADD
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 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
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-1
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
LOCK2 0 &event->mmap_mutex
HALF_LOCKED2 &parent_ctx->mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 0 &event->child_mutex
TYPE_LOCK (struct perf_event)->mmap_mutex

kernel/events/core.c perf_event_set_output() -> ring_buffer_attach()

Type Parameter Key Value
PARAM_VALUE 0 event 4096-ptr_max
PARAM_VALUE 0 event->ctx 4096-ptr_max
PARAM_VALUE 0 event->ctx->callback_head.func 1-u64max
PARAM_VALUE 0 event->ctx->callback_head.next 0
PARAM_VALUE 0 event->ctx->refcount.refs.counter (-1073741824),0-s32max
PARAM_VALUE 0 event->ctx->task->rcu.func 1-u64max
PARAM_VALUE 0 event->mmap_count.refs.counter 0
PARAM_VALUE 0 event->mmap_mutex.dep_map->name 0-255
PARAM_VALUE 0 event->mmap_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 event->mmap_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 event->mmap_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 event->mmap_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 event->mmap_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 event->mmap_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 event->pmu 0,4096-ptr_max
PARAM_VALUE 0 event->state (-3)-s32max
PARAM_VALUE 1 rb 0,4096-ptr_max
PARAM_VALUE 1 rb->mmap_count.refs.counter s32min-(-1),1-s32max
PARAM_VALUE 1 rb->refcount.refs.counter (-1073741824),0-s32max
BUF_SIZE 0 event s32min-(-2),1-s32max
BUF_SIZE 0 event s32min-(-2),1-s32max
CAPPED_DATA 0 event->ctx 1
CAPPED_DATA 0 event->pmu 1
CAPPED_DATA 0 &event->mmap_mutex 1
DATA_SOURCE 0 event $0
FUZZY_MAX 0 event->state (-3)
NOCHECK_CALL
HALF_LOCKED2 0 &event->mmap_mutex

kernel/events/core.c perf_mmap() -> ring_buffer_attach()

Type Parameter Key Value
PARAM_VALUE 0 event 4096-ptr_max
PARAM_VALUE 0 event->mmap_count.refs.counter 1
PARAM_VALUE 0 event->pmu 0,4096-ptr_max
PARAM_VALUE 0 event->rb 4096-ptr_max
PARAM_VALUE 0 event->rb->mmap_count.refs.counter (-1073741824),0-s32max
PARAM_VALUE 0 event->rb->mmap_user 4096-ptr_max
PARAM_VALUE 0 event->state (-3)-s32max
PARAM_VALUE 1 rb 0
BUF_SIZE 0 event (-1),1216
BUF_SIZE 0 event (-1),1216
FUZZY_MAX 0 event->state (-3)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock
HALF_LOCKED2 &ipcp->lock

kernel/events/core.c perf_mmap_close() -> ring_buffer_attach()

Type Parameter Key Value
PARAM_VALUE 0 event 4096-ptr_max
PARAM_VALUE 0 event->mmap_mutex.dep_map->name 0-255
PARAM_VALUE 0 event->mmap_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 event->mmap_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 event->mmap_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 event->mmap_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 event->mmap_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 event->mmap_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 rb 0
BUF_SIZE 0 event s32min-(-2),1-s32max
BUF_SIZE 0 event s32min-(-2),1-s32max
CAPPED_DATA 0 &event->mmap_mutex 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &event->mmap_mutex
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct perf_event)->mmap_mutex

kernel/events/core.c perf_mmap_close() -> ring_buffer_attach()

Type Parameter Key Value
PARAM_VALUE 0 event 4096-ptr_max
PARAM_VALUE 0 event->mmap_mutex.dep_map->name 0-255
PARAM_VALUE 0 event->mmap_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 event->mmap_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 event->mmap_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 event->mmap_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 event->mmap_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 event->mmap_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 event->mmap_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 event->mmap_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 event->mmap_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 event->mmap_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 event->mmap_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 event->rb 4096-ptr_max
PARAM_VALUE 0 event->rb->callback_head.func 1-u64max
PARAM_VALUE 0 event->rb->callback_head.next 0
PARAM_VALUE 0 event->rb->event_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 rb 0
CAPPED_DATA 0 event->rb 1
CAPPED_DATA 0 &event->mmap_mutex 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &event->mmap_mutex
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct perf_event)->mmap_mutex

kernel/events/core.c perf_mmap_rb() -> ring_buffer_attach()

Type Parameter Key Value
PARAM_VALUE 0 event 4096-ptr_max
PARAM_VALUE 0 event->ctx 4096-ptr_max
PARAM_VALUE 0 event->mmap_count.refs.counter s32min-(-1),1-s32max
PARAM_VALUE 0 event->rb 4096-ptr_max
PARAM_VALUE 0 event->rb->mmap_count.refs.counter (-1073741824),0-s32max
PARAM_VALUE 0 event->state (-3)-s32max
PARAM_VALUE 1 rb 0
BUF_SIZE 0 event (-1),1216
BUF_SIZE 0 event (-1),1216
DATA_SOURCE 0 event $1
FUZZY_MAX 0 event->state (-3)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock
HALF_LOCKED2 &ipcp->lock

kernel/events/core.c perf_mmap_rb() -> ring_buffer_attach()

Type Parameter Key Value
PARAM_VALUE 0 event 4096-ptr_max
PARAM_VALUE 0 event->ctx 4096-ptr_max
PARAM_VALUE 0 event->rb 0
PARAM_VALUE 0 event->rb->callback_head.func 1-u64max
PARAM_VALUE 0 event->rb->callback_head.next 0
PARAM_VALUE 0 event->rb->event_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 event->rb->mmap_count.refs.counter (-1073741824),0-s32max
PARAM_VALUE 0 event->state (-3)-s32max
PARAM_VALUE 1 rb 4096-ptr_max
PARAM_VALUE 1 rb->aux_mutex.dep_map->name 0-255
PARAM_VALUE 1 rb->aux_mutex.first_waiter 0
PARAM_VALUE 1 rb->aux_mutex.magic 4096-ptr_max
PARAM_VALUE 1 rb->aux_mutex.osq.tail.counter 0
PARAM_VALUE 1 rb->aux_mutex.owner.counter 0
PARAM_VALUE 1 rb->data_pages 4096-ptr_max
PARAM_VALUE 1 rb->event_list.next 4096-ptr_max
PARAM_VALUE 1 rb->event_list.next->next 4096-ptr_max
PARAM_VALUE 1 rb->event_list.prev 4096-ptr_max
PARAM_VALUE 1 rb->event_list.prev->next 4096-ptr_max
PARAM_VALUE 1 rb->event_list.prev->prev 4096-ptr_max
PARAM_VALUE 1 rb->mmap_count.refs.counter 1
PARAM_VALUE 1 rb->mmap_locked 0-556198264702
PARAM_VALUE 1 rb->mmap_user 4096-ptr_max
PARAM_VALUE 1 rb->overwrite 0-1
PARAM_VALUE 1 rb->paused 1
PARAM_VALUE 1 rb->refcount.refs.counter 1
PARAM_VALUE 1 rb->user_page 1-u64max
BUF_SIZE 0 event (-1),1216
BUF_SIZE 0 event (-1),1216
BUF_SIZE 1 rb 560
BUF_SIZE 1 rb 560
DATA_SOURCE 0 event $1
DATA_SOURCE 1 rb r rb_alloc
FUZZY_MAX 0 event->state (-3)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock
HALF_LOCKED2 &ipcp->lock