Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 cpuctx 4096-ptr_max
PARAM_VALUE 0 cpuctx->ctx.lock.dep_map->name 0-255
PARAM_VALUE 0 cpuctx->ctx.lock.owner_cpu 0
PARAM_VALUE 0 cpuctx->ctx.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 cpuctx->task_ctx->lock.dep_map->name 0-255
PARAM_VALUE 0 cpuctx->task_ctx->lock.owner_cpu 0
PARAM_VALUE 0 cpuctx->task_ctx->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 ctx 0,4096-ptr_max
PARAM_VALUE 1 ctx->lock.dep_map->name 0-255
PARAM_VALUE 1 ctx->lock.owner_cpu 0
PARAM_VALUE 1 ctx->lock.raw_lock.val.counter 0-s32max
CAPPED_DATA 1 ctx 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ctx unit_byte
LOCK2 0 &cpuctx->ctx.lock
HALF_LOCKED2 &ctx->lock
HALF_LOCKED2 flags
HALF_LOCKED2 1 &ctx->lock
TYPE_LOCK (struct perf_event_context)->lock

kernel/events/core.c __perf_pmu_sched_task() -> perf_ctx_unlock()

Type Parameter Key Value
PARAM_VALUE 0 cpuctx 4096-ptr_max
PARAM_VALUE 0 cpuctx->ctx.lock.dep_map->name 0-255
PARAM_VALUE 0 cpuctx->ctx.lock.owner_cpu 0
PARAM_VALUE 0 cpuctx->ctx.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 cpuctx->task_ctx 0,4096-ptr_max
PARAM_VALUE 0 cpuctx->task_ctx->lock.dep_map->name 0-255
PARAM_VALUE 0 cpuctx->task_ctx->lock.owner_cpu 0
PARAM_VALUE 0 cpuctx->task_ctx->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 ctx 0,4096-ptr_max
PARAM_VALUE 1 ctx->lock.dep_map->name 0-255
PARAM_VALUE 1 ctx->lock.owner_cpu 0
PARAM_VALUE 1 ctx->lock.raw_lock.val.counter 0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ctx unit_byte
LOCK2 0 &cpuctx->ctx.lock
HALF_LOCKED2 irq
TYPE_LOCK (struct perf_event_context)->lock

kernel/events/core.c class_perf_ctx_lock_destructor() -> perf_ctx_unlock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cpuctx->ctx.lock
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 irq
TYPE_LOCK (struct perf_event_context)->lock

kernel/events/core.c event_function() -> perf_ctx_unlock()

Type Parameter Key Value
PARAM_VALUE 0 cpuctx 4096-ptr_max
PARAM_VALUE 0 cpuctx->ctx.lock.dep_map->name 0-255
PARAM_VALUE 0 cpuctx->ctx.lock.owner_cpu 0
PARAM_VALUE 0 cpuctx->ctx.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 cpuctx->task_ctx->lock.dep_map->name 0-255
PARAM_VALUE 0 cpuctx->task_ctx->lock.owner_cpu 0
PARAM_VALUE 0 cpuctx->task_ctx->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 ctx->lock.dep_map->name 0-255
PARAM_VALUE 1 ctx->lock.owner_cpu 0
PARAM_VALUE 1 ctx->lock.raw_lock.val.counter 0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ctx unit_byte
LOCK2 0 &cpuctx->ctx.lock
HALF_LOCKED2 flags
TYPE_LOCK (struct perf_event_context)->lock

kernel/events/core.c event_function_call() -> perf_ctx_unlock()

Type Parameter Key Value
PARAM_VALUE 0 cpuctx 4096-ptr_max
PARAM_VALUE 0 cpuctx->ctx.lock.dep_map->name 0-255
PARAM_VALUE 0 cpuctx->ctx.lock.owner_cpu 0
PARAM_VALUE 0 cpuctx->ctx.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 ctx 4096-ptr_max
PARAM_VALUE 1 ctx->is_active s32min-(-1),1-s32max
PARAM_VALUE 1 ctx->lock.dep_map->name 0-255
PARAM_VALUE 1 ctx->lock.owner_cpu 0
PARAM_VALUE 1 ctx->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 ctx->task 1-18446744073709551614
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ctx unit_byte
LOCK2 irq
LOCK2 0 &cpuctx->ctx.lock
LOCK2 1 &ctx->lock
TYPE_LOCK (struct perf_event_context)->lock

kernel/events/core.c event_function_call() -> perf_ctx_unlock()

Type Parameter Key Value
PARAM_VALUE 0 cpuctx 4096-ptr_max
PARAM_VALUE 0 cpuctx->ctx.lock.dep_map->name 0-255
PARAM_VALUE 0 cpuctx->ctx.lock.owner_cpu 0
PARAM_VALUE 0 cpuctx->ctx.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 ctx 4096-ptr_max
PARAM_VALUE 1 ctx->lock.dep_map->name 0-255
PARAM_VALUE 1 ctx->lock.owner_cpu 0
PARAM_VALUE 1 ctx->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 ctx->task 1-18446744073709551614
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ctx unit_byte
LOCK2 irq
LOCK2 0 &cpuctx->ctx.lock
LOCK2 1 &ctx->lock
TYPE_LOCK (struct perf_event_context)->lock

kernel/events/core.c event_function_local() -> perf_ctx_unlock()

Type Parameter Key Value
PARAM_VALUE 0 cpuctx 4096-ptr_max
PARAM_VALUE 0 cpuctx->ctx.lock.dep_map->name 0-255
PARAM_VALUE 0 cpuctx->ctx.lock.owner_cpu 0
PARAM_VALUE 0 cpuctx->ctx.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 ctx 0,4096-ptr_max
PARAM_VALUE 1 ctx->lock.dep_map->name 0-255
PARAM_VALUE 1 ctx->lock.owner_cpu 0
PARAM_VALUE 1 ctx->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 ctx->task 1-18446744073709551614
NOCHECK_CALL
UNITS 1 ctx unit_byte
LOCK2 0 &cpuctx->ctx.lock
TYPE_LOCK (struct perf_event_context)->lock

kernel/events/core.c perf_event_context_sched_in() -> perf_ctx_unlock()

Type Parameter Key Value
PARAM_VALUE 0 cpuctx 4096-ptr_max
PARAM_VALUE 0 cpuctx->ctx.lock.dep_map->name 0-255
PARAM_VALUE 0 cpuctx->ctx.lock.owner_cpu 0
PARAM_VALUE 0 cpuctx->ctx.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 cpuctx->task_ctx 1-u64max
PARAM_VALUE 1 ctx 4096-ptr_max
PARAM_VALUE 1 ctx->lock.dep_map->name 0-255
PARAM_VALUE 1 ctx->lock.owner_cpu 0
PARAM_VALUE 1 ctx->lock.raw_lock.val.counter 0-s32max
CAPPED_DATA 0 cpuctx->task_ctx 1
CAPPED_DATA 1 ctx 1
PARAM_COMPARE 0 cpuctx->task_ctx == $1
PARAM_COMPARE 1 ctx == $0->task_ctx
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ctx unit_byte
LOCK2 rcu_read
LOCK2 0 &cpuctx->ctx.lock
LOCK2 1 &ctx->lock
HALF_LOCKED2 irq
TYPE_LOCK (struct perf_event_context)->lock

kernel/events/core.c perf_event_context_sched_in() -> perf_ctx_unlock()

Type Parameter Key Value
PARAM_VALUE 0 cpuctx 4096-ptr_max
PARAM_VALUE 0 cpuctx->ctx.lock.dep_map->name 0-255
PARAM_VALUE 0 cpuctx->ctx.lock.owner_cpu 0
PARAM_VALUE 0 cpuctx->ctx.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 ctx 4096-ptr_max
PARAM_VALUE 1 ctx->lock.dep_map->name 0-255
PARAM_VALUE 1 ctx->lock.owner_cpu 0
PARAM_VALUE 1 ctx->lock.raw_lock.val.counter 0-s32max
PARAM_COMPARE 0 cpuctx->task_ctx != $1
PARAM_COMPARE 1 ctx != $0->task_ctx
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ctx unit_byte
LOCK2 rcu_read
LOCK2 0 &cpuctx->ctx.lock
LOCK2 1 &ctx->lock
HALF_LOCKED2 irq
TYPE_LOCK (struct perf_event_context)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 cpuctx 4096-ptr_max
PARAM_VALUE 0 cpuctx->ctx.lock.dep_map->name 0-255
PARAM_VALUE 0 cpuctx->ctx.lock.owner_cpu 0
PARAM_VALUE 0 cpuctx->ctx.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 ctx 4096-ptr_max
PARAM_VALUE 1 ctx->lock.dep_map->name 0-255
PARAM_VALUE 1 ctx->lock.owner_cpu 0
PARAM_VALUE 1 ctx->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 ctx->nr_events s32min-(-1),1-s32max
CAPPED_DATA 1 ctx 1
CAPPED_DATA 1 &ctx->event_list 1
DATA_SOURCE 1 ctx $0
BIT_INFO 1 ctx 0x0,0x0
NOCHECK_CALL
LOCK2 &tsk->signal->exec_update_lock
LOCK2 flags
LOCK2 0 &cpuctx->ctx.lock
LOCK2 1 &ctx->lock
TYPE_LOCK (struct perf_event_context)->lock

kernel/events/core.c perf_pmu_resched() -> perf_ctx_unlock()

Type Parameter Key Value
PARAM_VALUE 0 cpuctx 4096-ptr_max
PARAM_VALUE 0 cpuctx->ctx.lock.dep_map->name 0-255
PARAM_VALUE 0 cpuctx->ctx.lock.owner_cpu 0
PARAM_VALUE 0 cpuctx->ctx.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 cpuctx->task_ctx->lock.dep_map->name 0-255
PARAM_VALUE 0 cpuctx->task_ctx->lock.owner_cpu 0
PARAM_VALUE 0 cpuctx->task_ctx->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 ctx->lock.dep_map->name 0-255
PARAM_VALUE 1 ctx->lock.owner_cpu 0
PARAM_VALUE 1 ctx->lock.raw_lock.val.counter 0-s32max
CAPPED_DATA 1 ctx 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ctx unit_byte
LOCK2 0 &cpuctx->ctx.lock
HALF_LOCKED2 flags
TYPE_LOCK (struct perf_event_context)->lock

kernel/events/core.c perf_rotate_context() -> perf_ctx_unlock()

Type Parameter Key Value
PARAM_VALUE 0 cpuctx 4096-ptr_max
PARAM_VALUE 0 cpuctx->ctx.lock.dep_map->name 0-255
PARAM_VALUE 0 cpuctx->ctx.lock.owner_cpu 0
PARAM_VALUE 0 cpuctx->ctx.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 cpuctx->task_ctx 0,4096-ptr_max
PARAM_VALUE 0 cpuctx->task_ctx->lock.dep_map->name 0-255
PARAM_VALUE 0 cpuctx->task_ctx->lock.owner_cpu 0
PARAM_VALUE 0 cpuctx->task_ctx->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 ctx 0,4096-ptr_max
PARAM_VALUE 1 ctx->lock.dep_map->name 0-255
PARAM_VALUE 1 ctx->lock.owner_cpu 0
PARAM_VALUE 1 ctx->lock.raw_lock.val.counter 0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 ctx unit_byte
LOCK2 0 &cpuctx->ctx.lock
HALF_LOCKED2 irq
TYPE_LOCK (struct perf_event_context)->lock