Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 3 files:

Smatch caller information:

mm/huge_memory.c __folio_freeze_and_split_unmapped() -> __swap_cache_replace_folio()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 1 old 4096-ptr_max
PARAM_VALUE 1 old->mapping 1-u64max
PARAM_VALUE 1 old->mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 old->mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 old->page._refcount.counter 0-s32max
PARAM_VALUE 1 *old->_mm_id 0-4294967295
PARAM_VALUE 2 new 4096-ptr_max
PARAM_VALUE 2 new->mapping 1-u64max
CAPPED_DATA 1 old 1
DATA_SOURCE 0 ci r swap_cluster_get_and_lock
DATA_SOURCE 1 old $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
HALF_LOCKED2 rcu_read

mm/shmem.c shmem_replace_folio() -> __swap_cache_replace_folio()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 1 old 4096-ptr_max
PARAM_VALUE 2 new 4096-ptr_max
DATA_SOURCE 0 ci r swap_cluster_get_and_lock_irq
DATA_SOURCE 2 new r shmem_alloc_folio
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq

mm/migrate.c __folio_migrate_mapping() -> __swap_cache_replace_folio()

Type Parameter Key Value
PARAM_VALUE 0 ci 0,4096-ptr_max
PARAM_VALUE 1 old 4096-ptr_max
PARAM_VALUE 1 old->mapping->host->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648,2704,2712
PARAM_VALUE 1 old->mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 old->mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 old->page._refcount.counter 0-s32max
PARAM_VALUE 1 *old->_mm_id 0-4294967295
PARAM_VALUE 2 new 4096-ptr_max
PARAM_VALUE 2 new->mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 new->mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 *new->_mm_id 0-4294967295
BUF_SIZE 2 new->private (-1),1-s32max
CAPPED_DATA 1 old 1
DATA_SOURCE 1 old $2
DATA_SOURCE 2 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 2 new->index
LOCK2 irq
HALF_LOCKED2 &((&xas)->xa)->xa_lock