Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

mm/huge_memory.c __split_folio_to_order() -> prep_compound_page()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->_mapcount.counter (-1)
PARAM_VALUE 0 page->compound_info 0
PARAM_VALUE 1 order 1-254
DATA_SOURCE 1 order $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 page unit_page
LOCK2 irq
HALF_LOCKED2 &mapping->i_mmap_rwsem
HALF_LOCKED2 rcu_read

fs/dax.c dax_folio_init() -> prep_compound_page()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 1 order 9
DATA_SOURCE 1 order r dax_entry_order
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(xas->xa)->xa_lock
LOCK2 irq
HALF_LOCKED2 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 &mapping->invalidate_lock

mm/hugetlb.c demote_free_hugetlb_folios() -> prep_compound_page()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->compound_info 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dst->resize_lock
LOCK2 &of->mutex
LOCK2 &src->resize_lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct hstate)->resize_lock
TYPE_LOCK (struct kernfs_open_file)->mutex

mm/compaction.c compaction_alloc_noprof() -> prep_compound_page()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->_refcount.counter 1
PARAM_VALUE 0 page->private 0
PARAM_VALUE 1 order 1-255
CAPPED_DATA 1 order 1
DATA_SOURCE 1 order r folio_order
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/page_alloc.c prep_new_page() -> prep_compound_page()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->private 0
PARAM_VALUE 1 order 1-63
CAPPED_DATA 1 order 1
DATA_SOURCE 0 page $0
DATA_SOURCE 1 order $1
FUZZY_MAX 1 order 4
NOSPEC 1 order
NOSPEC 1 order
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 order 1-10[c]
USER_DATA 1 order 1-10[c]
UNITS 0 page unit_page
UNITS 1 order unit_byte

mm/memremap.c zone_device_page_init() -> prep_compound_page()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->_refcount.counter 1
PARAM_VALUE 1 order 1-u32max
DATA_SOURCE 0 page $0
DATA_SOURCE 1 order $2
FUZZY_MAX 1 order 9
RX_PATH
NOCHECK_CALL
LOCK2 &mm->mmap_lock
HALF_LOCKED2 &driver_migrate_lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 global &drm_unplug_srcu
TYPE_LOCK (struct mm_struct)->mmap_lock

kernel/liveupdate/kexec_handover.c kho_init_folio() -> prep_compound_page()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->_refcount.counter 1
PARAM_VALUE 0 page->private 0
PARAM_VALUE 1 order 1-u32max
DATA_SOURCE 0 page $0
DATA_SOURCE 1 order $1
FUZZY_MAX 1 order 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &session->mutex
HALF_LOCKED2 _T->lock