Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/hwtracing/stm/core.c __stm_source_link_drop() -> stm_output_free()

Type Parameter Key Value
PARAM_VALUE 0 stm 4096-ptr_max
PARAM_VALUE 1 output 4096-ptr_max
CAPPED_DATA 0 stm 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &src->link_lock
LOCK2 &stm->link_lock
LOCK2 &stm->link_mutex
HALF_LOCKED2 global &stm_source_srcu
TYPE_LOCK (struct stm_device)->link_lock
TYPE_LOCK (struct stm_device)->link_mutex
TYPE_LOCK (struct stm_source_device)->link_lock

drivers/hwtracing/stm/core.c stm_char_policy_set_ioctl() -> stm_output_free()

Type Parameter Key Value
PARAM_VALUE 0 stm 4096-ptr_max
PARAM_VALUE 0 stm->data 4096-ptr_max
PARAM_VALUE 0 stm->data->link 2907249573441171456,3566993469415899136
PARAM_VALUE 0 stm->data->sw_mmiosz 0,64
PARAM_VALUE 0 stm->data->sw_nchannels 0-u16max
PARAM_VALUE 0 stm->mc_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 stm->policy 1-u64max
PARAM_VALUE 0 stm->policy_mutex.dep_map->name 0-255
PARAM_VALUE 0 stm->policy_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 stm->policy_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 stm->policy_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 stm->policy_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 stm->policy_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 stm->policy_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 stm->policy_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 stm->policy_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 stm->policy_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 output 4096-ptr_max
PARAM_VALUE 1 output->channel 0-64
PARAM_VALUE 1 output->nr_chans 1-64
PARAM_VALUE 1 output->pdrv_private 4096-ptr_max
CAPPED_DATA 0 stm->data->sw_nchannels 1
CAPPED_DATA 0 stm->data->sw_start 1
NOSPEC 1 output->nr_chans
NOCHECK_CALL
USER_DATA 1 output->channel 1-64[c]
USER_DATA 1 output->nr_chans 1-64[c]

drivers/hwtracing/stm/core.c stm_char_release() -> stm_output_free()

Type Parameter Key Value
PARAM_VALUE 0 stm 4096-ptr_max
PARAM_VALUE 0 stm->data 4096-ptr_max
PARAM_VALUE 0 stm->data->unlink 0
PARAM_VALUE 1 output 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/hwtracing/stm/core.c stm_source_link_add() -> stm_output_free()

Type Parameter Key Value
PARAM_VALUE 0 stm 4096-ptr_max
PARAM_VALUE 0 stm->data 4096-ptr_max
PARAM_VALUE 0 stm->data->link 2907249573441171456,3566993469415899136
PARAM_VALUE 0 stm->data->sw_nchannels 0-u16max
PARAM_VALUE 0 stm->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 stm->dev.class 0,4096-ptr_max
PARAM_VALUE 0 stm->dev.power.request 0-4
PARAM_VALUE 0 stm->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 stm->dev.power.wakeirq 0,4096-ptr_max
PARAM_VALUE 0 stm->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 stm->dev.type 0,4096-ptr_max
PARAM_VALUE 0 stm->link_list.prev 4096-ptr_max
PARAM_VALUE 0 stm->link_list.prev->next 4096-ptr_max
PARAM_VALUE 0 stm->link_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 stm->link_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 stm->link_mutex.dep_map->name 0-255
PARAM_VALUE 0 stm->link_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 stm->link_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 stm->link_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 stm->link_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 stm->link_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 stm->link_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 stm->link_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 stm->link_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 stm->link_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 stm->mc_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 stm->owner 0,4096-ptr_max
PARAM_VALUE 0 stm->owner->refcnt.counter 0-s32max
PARAM_VALUE 0 stm->owner->state 0-1,3-u32max
PARAM_VALUE 0 stm->policy 1-u64max
PARAM_VALUE 0 stm->policy_mutex.dep_map->name 0-255
PARAM_VALUE 0 stm->policy_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 stm->policy_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 stm->policy_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 stm->policy_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 stm->policy_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 stm->policy_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 stm->policy_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 stm->policy_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 stm->policy_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 output 4096-ptr_max
PARAM_VALUE 1 output->channel 0-64
PARAM_VALUE 1 output->nr_chans 1-u16max
PARAM_VALUE 1 output->pdrv_private 4096-ptr_max
CAPPED_DATA 0 stm->data->sw_nchannels 1
CAPPED_DATA 0 stm->data->sw_start 1
CAPPED_DATA 0 &stm->link_mutex 1
DATA_SOURCE 0 stm $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex