Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/mtd/ubi/wl.c ubi_fastmap_close() -> return_unused_pool_pebs()

Type Parameter Key Value
PARAM_VALUE 0 ubi 4096-ptr_max
PARAM_VALUE 0 ubi->bgt_thread->delays->blkio_count 0-4294967295
PARAM_VALUE 0 ubi->dev.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 ubi->dev.power.entry.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ubi->device_mutex.dep_map->name 0-255
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->type 0-1
PARAM_VALUE 0 ubi->fm_protect.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_protect.first_waiter->type 0-1
PARAM_VALUE 0 ubi->work_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->work_sem.first_waiter->type 0-1
PARAM_VALUE 1 pool 4096-ptr_max
BUF_SIZE 0 ubi (-1),7232
BUF_SIZE 0 ubi (-1),7232
DATA_SOURCE 0 ubi $0
STR_LEN 0 ubi->dev.parent->driver_data (-1)
STR_LEN 0 ubi->mtd (-1)
STR_LEN 0 ubi->mtd->dev.driver_data (-1)
STR_LEN 0 ubi->mtd->name (-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 ubi->bgt_thread->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 ubi->cdev.count
NO_OVERFLOW_SIMPLE 0 ubi->mtd->erasesize
NO_OVERFLOW_SIMPLE 0 ubi->peb_count
NO_OVERFLOW_SIMPLE 0 ubi->peb_size
NO_OVERFLOW_SIMPLE 0 ubi->vid_hdr_aloffset
LOCK2 global &ubi_devices_mutex

drivers/mtd/ubi/wl.c ubi_fastmap_close() -> return_unused_pool_pebs()

Type Parameter Key Value
PARAM_VALUE 0 ubi 4096-ptr_max
PARAM_VALUE 0 ubi->bgt_thread->delays->blkio_count 0-4294967295
PARAM_VALUE 0 ubi->dev.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 ubi->dev.power.entry.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ubi->device_mutex.dep_map->name 0-255
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->type 0-1
PARAM_VALUE 0 ubi->fm_protect.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_protect.first_waiter->type 0-1
PARAM_VALUE 0 ubi->free.rb_node 4096-ptr_max
PARAM_VALUE 0 ubi->work_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->work_sem.first_waiter->type 0-1
PARAM_VALUE 1 pool 4096-ptr_max
BUF_SIZE 0 ubi (-1),7232
BUF_SIZE 0 ubi (-1),7232
CAPPED_DATA 0 ubi->fm_pool.size 1
DATA_SOURCE 0 ubi $0
STR_LEN 0 ubi->dev.parent->driver_data (-1)
STR_LEN 0 ubi->mtd (-1)
STR_LEN 0 ubi->mtd->dev.driver_data (-1)
STR_LEN 0 ubi->mtd->name (-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 ubi->bgt_thread->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 ubi->cdev.count
NO_OVERFLOW_SIMPLE 0 ubi->mtd->erasesize
NO_OVERFLOW_SIMPLE 0 ubi->peb_count
NO_OVERFLOW_SIMPLE 0 ubi->peb_size
NO_OVERFLOW_SIMPLE 0 ubi->vid_hdr_aloffset
LOCK2 global &ubi_devices_mutex

drivers/mtd/ubi/wl.c ubi_refill_pools_and_lock() -> return_unused_pool_pebs()

Type Parameter Key Value
PARAM_VALUE 0 ubi 4096-ptr_max
PARAM_VALUE 0 ubi->fm_eba_sem.dep_map->name 0-255
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->type 0-1
PARAM_VALUE 0 ubi->fm_eba_sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 ubi->fm_eba_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ubi->fm_eba_sem.wait_lock.owner (-1)
PARAM_VALUE 0 ubi->fm_eba_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 0 ubi->fm_protect.dep_map->name 0-255
PARAM_VALUE 0 ubi->fm_protect.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_protect.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 ubi->fm_protect.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 ubi->fm_protect.first_waiter->type 0-1
PARAM_VALUE 0 ubi->fm_protect.osq.tail.counter 0-s32max
PARAM_VALUE 0 ubi->fm_protect.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ubi->fm_protect.wait_lock.owner (-1)
PARAM_VALUE 0 ubi->fm_protect.wait_lock.owner_cpu u32max
PARAM_VALUE 0 ubi->wl_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ubi->work_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->work_sem.first_waiter->type 0-1
PARAM_VALUE 0 ubi->work_sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 ubi->work_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ubi->work_sem.wait_lock.owner (-1)
PARAM_VALUE 0 ubi->work_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 1 pool 4096-ptr_max
BUF_SIZE 1 pool 1036
CAPPED_DATA 0 &ubi->fm_eba_sem 1
CAPPED_DATA 0 &ubi->fm_protect 1
CAPPED_DATA 0 &ubi->work_sem 1
DATA_SOURCE 0 ubi $0
PARAM_COMPARE 0 &ubi->fm_wl_pool == $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 ubi->bgt_thread->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 ubi->vid_hdr_aloffset
LOCK2 0 &ubi->fm_eba_sem
LOCK2 0 &ubi->fm_protect
LOCK2 0 &ubi->wl_lock
LOCK2 0 &ubi->work_sem
HALF_LOCKED2 &le->mutex
HALF_LOCKED2 global &ubi_devices_mutex
HALF_LOCKED2 0 &ubi->device_mutex
TYPE_LOCK (struct ubi_device)->fm_eba_sem
TYPE_LOCK (struct ubi_device)->fm_protect
TYPE_LOCK (struct ubi_device)->wl_lock
TYPE_LOCK (struct ubi_device)->work_sem

drivers/mtd/ubi/wl.c ubi_refill_pools_and_lock() -> return_unused_pool_pebs()

Type Parameter Key Value
PARAM_VALUE 0 ubi 4096-ptr_max
PARAM_VALUE 0 ubi->fm_eba_sem.dep_map->name 0-255
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->type 0-1
PARAM_VALUE 0 ubi->fm_eba_sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 ubi->fm_eba_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ubi->fm_eba_sem.wait_lock.owner (-1)
PARAM_VALUE 0 ubi->fm_eba_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 0 ubi->fm_protect.dep_map->name 0-255
PARAM_VALUE 0 ubi->fm_protect.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_protect.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 ubi->fm_protect.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 ubi->fm_protect.first_waiter->type 0-1
PARAM_VALUE 0 ubi->fm_protect.osq.tail.counter 0-s32max
PARAM_VALUE 0 ubi->fm_protect.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ubi->fm_protect.wait_lock.owner (-1)
PARAM_VALUE 0 ubi->fm_protect.wait_lock.owner_cpu u32max
PARAM_VALUE 0 ubi->free.rb_node 4096-ptr_max
PARAM_VALUE 0 ubi->wl_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ubi->work_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->work_sem.first_waiter->type 0-1
PARAM_VALUE 0 ubi->work_sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 ubi->work_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ubi->work_sem.wait_lock.owner (-1)
PARAM_VALUE 0 ubi->work_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 1 pool 4096-ptr_max
BUF_SIZE 1 pool 1036
CAPPED_DATA 0 &ubi->fm_eba_sem 1
CAPPED_DATA 0 &ubi->fm_protect 1
CAPPED_DATA 0 &ubi->work_sem 1
DATA_SOURCE 0 ubi $0
PARAM_COMPARE 0 &ubi->fm_pool == $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 ubi->bgt_thread->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 ubi->vid_hdr_aloffset
LOCK2 0 &ubi->fm_eba_sem
LOCK2 0 &ubi->fm_protect
LOCK2 0 &ubi->wl_lock
LOCK2 0 &ubi->work_sem
HALF_LOCKED2 &le->mutex
HALF_LOCKED2 global &ubi_devices_mutex
HALF_LOCKED2 0 &ubi->device_mutex
TYPE_LOCK (struct ubi_device)->fm_eba_sem
TYPE_LOCK (struct ubi_device)->fm_protect
TYPE_LOCK (struct ubi_device)->wl_lock
TYPE_LOCK (struct ubi_device)->work_sem