Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/gpu/drm/exynos/exynos_drm_g2d.c exynos_g2d_exec_ioctl() -> g2d_free_runqueue_node()

Type Parameter Key Value
PARAM_VALUE 0 g2d 4096-ptr_max
PARAM_VALUE 0 g2d->runqueue.prev 4096-ptr_max
PARAM_VALUE 0 g2d->runqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 g2d->runqueue.prev->next->next 4096-ptr_max
PARAM_VALUE 0 g2d->runqueue_mutex.dep_map->name 0-255
PARAM_VALUE 0 g2d->runqueue_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 g2d->runqueue_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 g2d->runqueue_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 g2d->runqueue_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 g2d->runqueue_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 g2d->runqueue_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 g2d->runqueue_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 g2d->runqueue_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 g2d->runqueue_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 g2d->runqueue_slab 4096-ptr_max
PARAM_VALUE 0 g2d->runqueue_slab->object_size 0-4294967295
PARAM_VALUE 1 runqueue_node 4096-ptr_max
PARAM_VALUE 1 runqueue_node->async 0
PARAM_VALUE 1 runqueue_node->complete.done 0-4294967293,u32max
PARAM_VALUE 1 runqueue_node->complete.wait.lock.dep_map->name 0-255
PARAM_VALUE 1 runqueue_node->complete.wait.lock.owner (-1)
PARAM_VALUE 1 runqueue_node->complete.wait.lock.owner_cpu u32max
PARAM_VALUE 1 runqueue_node->complete.wait.task_list.next 4096-ptr_max
PARAM_VALUE 1 runqueue_node->complete.wait.task_list.next->next 4096-ptr_max
PARAM_VALUE 1 runqueue_node->complete.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 1 runqueue_node->complete.wait.task_list.prev->next->next 4096-ptr_max
PARAM_VALUE 1 runqueue_node->complete.wait.task_list.prev->prev 4096-ptr_max
PARAM_VALUE 1 runqueue_node->event_list.next 4096-ptr_max
PARAM_VALUE 1 runqueue_node->event_list.next->next 4096-ptr_max
PARAM_VALUE 1 runqueue_node->event_list.next->prev 4096-ptr_max
PARAM_VALUE 1 runqueue_node->event_list.prev 4096-ptr_max
PARAM_VALUE 1 runqueue_node->event_list.prev->next 4096-ptr_max
PARAM_VALUE 1 runqueue_node->event_list.prev->prev 4096-ptr_max
PARAM_VALUE 1 runqueue_node->filp 4096-ptr_max
PARAM_VALUE 1 runqueue_node->filp->driver_priv 4096-ptr_max
PARAM_VALUE 1 runqueue_node->filp->minor 4096-ptr_max
PARAM_VALUE 1 runqueue_node->list.next 4096-ptr_max
PARAM_VALUE 1 runqueue_node->run_cmdlist.next 4096-ptr_max
PARAM_VALUE 1 runqueue_node->run_cmdlist.next->next 4096-ptr_max
PARAM_VALUE 1 runqueue_node->run_cmdlist.next->prev 4096-ptr_max
PARAM_VALUE 1 runqueue_node->run_cmdlist.prev 4096-ptr_max
PARAM_VALUE 1 runqueue_node->run_cmdlist.prev->next 4096-ptr_max
PARAM_VALUE 1 runqueue_node->run_cmdlist.prev->prev 4096-ptr_max
BUF_SIZE 0 g2d s32min-(-2),1-s32max
BUF_SIZE 0 g2d s32min-(-2),1-s32max
BUF_SIZE 1 runqueue_node->filp s32min-(-2),1-s32max
CAPPED_DATA 0 g2d->runqueue_slab 1
CAPPED_DATA 0 &g2d->runqueue_mutex 1
CAPPED_DATA 0 &g2d->runqueue_work 1
DATA_SOURCE 1 runqueue_node r kmem_cache_alloc_noprof
NOCHECK_CALL
USER_DATA 1 runqueue_node->async 0[u]
UNITS 0 g2d unit_byte

drivers/gpu/drm/exynos/exynos_drm_g2d.c g2d_remove_runqueue_nodes() -> g2d_free_runqueue_node()

Type Parameter Key Value
PARAM_VALUE 0 g2d 4096-ptr_max
PARAM_VALUE 1 runqueue_node 4096-ptr_max
BUF_SIZE 0 g2d s32min-(-2),1-s32max
BUF_SIZE 0 g2d s32min-(-2),1-s32max
CAPPED_DATA 0 &g2d->runqueue 1
CAPPED_DATA 1 &runqueue_node->list 1
DATA_SOURCE 0 g2d $0
PARAM_COMPARE 0 &g2d->runqueue != $0->runqueue.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 g2d unit_byte
HALF_LOCKED2 &_dev->mutex
HALF_LOCKED2 0 &g2d->runqueue_mutex

drivers/gpu/drm/exynos/exynos_drm_g2d.c g2d_runqueue_worker() -> g2d_free_runqueue_node()

Type Parameter Key Value
PARAM_VALUE 0 g2d 4096-ptr_max
PARAM_VALUE 0 g2d->dev 4096-ptr_max
PARAM_VALUE 0 g2d->dev->power.request 0-4
PARAM_VALUE 0 g2d->dev->power.runtime_status 0,2
PARAM_VALUE 0 g2d->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 g2d->runqueue_mutex.dep_map->name 0-255
PARAM_VALUE 0 g2d->runqueue_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 g2d->runqueue_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 g2d->runqueue_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 g2d->runqueue_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 g2d->runqueue_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 g2d->runqueue_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 g2d->runqueue_node 0
PARAM_VALUE 1 runqueue_node 4096-ptr_max
PARAM_VALUE 1 runqueue_node->async s32min-(-1),1-s32max
PARAM_VALUE 1 runqueue_node->complete.wait.lock.dep_map->name 0-255
PARAM_VALUE 1 runqueue_node->complete.wait.lock.owner (-1)
PARAM_VALUE 1 runqueue_node->complete.wait.lock.owner_cpu u32max
CAPPED_DATA 0 &g2d->runqueue_mutex 1
NOCHECK_CALL
LOCK2 0 &g2d->runqueue_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct g2d_data)->runqueue_mutex

drivers/gpu/drm/exynos/exynos_drm_g2d.c g2d_wait_finish() -> g2d_free_runqueue_node()

Type Parameter Key Value
PARAM_VALUE 0 g2d 4096-ptr_max
PARAM_VALUE 0 g2d->dev->bus 0,4096-ptr_max
PARAM_VALUE 0 g2d->dev->class 0,4096-ptr_max
PARAM_VALUE 0 g2d->dev->driver 0,4096-ptr_max
PARAM_VALUE 0 g2d->dev->power.request 0-4
PARAM_VALUE 0 g2d->dev->power.runtime_status 0,2
PARAM_VALUE 0 g2d->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 g2d->runqueue_mutex.dep_map->name 0-255
PARAM_VALUE 0 g2d->runqueue_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 g2d->runqueue_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 g2d->runqueue_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 g2d->runqueue_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 g2d->runqueue_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 g2d->runqueue_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 g2d->runqueue_node 1-u64max
PARAM_VALUE 0 g2d->runqueue_node->async s32min-(-1),1-s32max
PARAM_VALUE 0 g2d->runqueue_node->complete.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 g2d->runqueue_node->complete.wait.lock.owner (-1)
PARAM_VALUE 0 g2d->runqueue_node->complete.wait.lock.owner_cpu u32max
PARAM_VALUE 1 runqueue_node 4096-ptr_max
PARAM_VALUE 1 runqueue_node->async s32min-(-1),1-s32max
PARAM_VALUE 1 runqueue_node->complete.wait.lock.dep_map->name 0-255
PARAM_VALUE 1 runqueue_node->complete.wait.lock.owner (-1)
PARAM_VALUE 1 runqueue_node->complete.wait.lock.owner_cpu u32max
BUF_SIZE 0 g2d s32min-(-2),1-s32max
BUF_SIZE 0 g2d s32min-(-2),1-s32max
CAPPED_DATA 0 g2d->runqueue_node 1
CAPPED_DATA 0 &g2d->runqueue_mutex 1
CAPPED_DATA 1 runqueue_node 1
DATA_SOURCE 0 g2d $0
PARAM_COMPARE 0 g2d->runqueue_node == $1
PARAM_COMPARE 1 runqueue_node == $0->runqueue_node
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 g2d unit_byte
LOCK2 0 &g2d->runqueue_mutex
TYPE_LOCK (struct g2d_data)->runqueue_mutex