Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a member:

Defined in 2 files as a function:

Referenced in 6 files:

Smatch caller information:

mm/huge_memory.c split_huge_pages_in_file() -> folio_split()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->mapping 4096-ptr_max
PARAM_VALUE 1 new_order 0-254
PARAM_VALUE 3 list 0
CAPPED_DATA 0 folio->mapping 1
CAPPED_DATA 1 new_order 1
DATA_SOURCE 0 folio r filemap_get_folio
PARAM_COMPARE 0 &folio->page <= $2
LOCK2 &split_debug_mutex

mm/huge_memory.c split_huge_pages_pid() -> folio_split()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->mapping 1-u64max
PARAM_VALUE 1 new_order 0-254
PARAM_VALUE 3 list 0
CAPPED_DATA 0 folio 1
CAPPED_DATA 0 folio->mapping 1
CAPPED_DATA 1 new_order 1
DATA_SOURCE 0 folio r folio_walk_start
PARAM_COMPARE 0 &folio->page <= $2
LOCK2 &mm->mmap_lock
LOCK2 &split_debug_mutex
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/truncate.c folio_split_or_unmap() -> folio_split()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 folio->mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 *folio->_mm_id 0-4294967295
PARAM_VALUE 1 new_order 0-31
PARAM_VALUE 3 list 0
CAPPED_DATA 0 folio->mapping 1
DATA_SOURCE 0 folio $0
DATA_SOURCE 1 new_order $2
DATA_SOURCE 2 split_at $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem