Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

mm/mempool.c mempool_alloc_from_pool() -> remove_element()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
DATA_SOURCE 0 pool $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 pool->min_nr
LOCK2 flags
LOCK2 0 &pool->lock
TYPE_LOCK (struct mempool)->lock

mm/mempool.c mempool_exit() -> remove_element()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->curr_nr s32min-(-1),1-s32max
BUF_SIZE 0 pool (-1),200
BUF_SIZE 0 pool (-1),200
BUF_SIZE 0 pool->elements (-1),8
BUF_SIZE 0 pool->pool_data (-1)-s32max
DATA_SOURCE 0 pool $0
STR_LEN 0 pool (-1),6,12
STR_LEN 0 pool (-1),6,12
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 pool->min_nr 0-s32max[c]
NO_OVERFLOW_SIMPLE 0 pool->curr_nr
NO_OVERFLOW_SIMPLE 0 pool->min_nr
HALF_LOCKED2 &epf->lock
HALF_LOCKED2 global &bch_register_lock
HALF_LOCKED2 global &dm_thin_pool_table.mutex

mm/mempool.c mempool_resize() -> remove_element()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->curr_nr 2-s32max
PARAM_VALUE 0 pool->min_nr 1-s32max
DATA_SOURCE 0 pool $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 pool->min_nr 1-s32max[c]
NO_OVERFLOW_SIMPLE 0 pool->min_nr
LOCK2 flags
LOCK2 0 &pool->lock
HALF_LOCKED2 &q->limits_lock
TYPE_LOCK (struct mempool)->lock