Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/swapfile.c __free_cluster() -> swap_cluster_free_table()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->flags 0,2-255
PARAM_VALUE 0 ci->memcg_table 0,4096-ptr_max
CAPPED_DATA 0 ci->table 1
DATA_SOURCE 0 ci $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 0 &ci->lock

mm/swapfile.c free_swap_cluster_info() -> swap_cluster_free_table()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ci->table 1
CAPABLE 0 21
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 0 &ci->lock
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct swap_cluster_info)->lock

mm/swapfile.c swap_cluster_alloc_table() -> swap_cluster_free_table()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->memcg_table 0
PARAM_VALUE 0 ci->table 18379471554275704832,18446612682070032384
BUF_SIZE 0 ci->memcg_table 1024
DATA_SOURCE 0 ci $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ci->lock
HALF_LOCKED2 &inode->i_rwsem