Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/swapfile.c cluster_is_usable() -> cluster_table_is_alloced()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->flags 0-3
DATA_SOURCE 0 ci $0
FUZZY_MAX 0 ci->flags 3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &si->global_cluster_lock
HALF_LOCKED2 global &device_hotplug_lock
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 0 &ci->lock

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

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

mm/swapfile.c isolate_lock_cluster() -> cluster_table_is_alloced()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->flags 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ci->lock
HALF_LOCKED2 &si->global_cluster_lock
TYPE_LOCK (struct swap_cluster_info)->lock

mm/swapfile.c swap_extend_table_alloc() -> cluster_table_is_alloced()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 ci $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &ci->lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &oldmm->mmap_lock
TYPE_LOCK (struct swap_cluster_info)->lock