Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/zsmalloc.c __zs_compact() -> zspage_write_unlock()

Type Parameter Key Value
PARAM_VALUE 0 zspage 4096-ptr_max
PARAM_VALUE 0 zspage->first_zpdesc 4096-ptr_max
PARAM_VALUE 0 zspage->inuse 0
PARAM_VALUE 0 zspage->list.prev->next 4096-ptr_max
PARAM_VALUE 0 zspage->zsl.cnt (-1)
PARAM_VALUE 0 zspage->zsl.dep_map->name 0-255
DATA_SOURCE 0 zspage r isolate_src_zspage
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &class->lock
LOCK2 &pool->lock
LOCK2 0 &zspage->zsl.lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct size_class)->lock
TYPE_LOCK (struct zs_pool)->lock
TYPE_LOCK (struct zspage_lock)->lock

mm/zsmalloc.c zs_page_migrate() -> zspage_write_unlock()

Type Parameter Key Value
PARAM_VALUE 0 zspage 4096-ptr_max
PARAM_VALUE 0 zspage->first_zpdesc 4096-ptr_max
PARAM_VALUE 0 zspage->first_zpdesc->handle 0
PARAM_VALUE 0 zspage->first_zpdesc->next 0
PARAM_VALUE 0 zspage->huge 1
PARAM_VALUE 0 zspage->magic 88
PARAM_VALUE 0 zspage->pool 4096-ptr_max
PARAM_VALUE 0 zspage->pool->lock.dep_map->name 0-255
PARAM_VALUE 0 zspage->pool->lock.owner_cpu 0
PARAM_VALUE 0 zspage->pool->lock.raw_lock.cnts.counter 0-s32max
PARAM_VALUE 0 zspage->zsl.cnt (-1)
PARAM_VALUE 0 zspage->zsl.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &class->lock
LOCK2 &pool->lock
LOCK2 0 &zspage->zsl.lock
TYPE_LOCK (struct size_class)->lock
TYPE_LOCK (struct zs_pool)->lock
TYPE_LOCK (struct zspage_lock)->lock