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

Smatch assignments to (struct dev_pagemap_ops)->folio_split:

drivers/nvdimm/pmem.c (null)() -> (struct dev_pagemap_ops)->folio_split [0]

lib/test_hmm.c (null)() -> (struct dev_pagemap_ops)->folio_split [0,5255345146419240960]

drivers/pci/p2pdma.c (null)() -> (struct dev_pagemap_ops)->folio_split [0]

drivers/gpu/drm/drm_pagemap.c (null)() -> (struct dev_pagemap_ops)->folio_split [7854188800798580736]

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_migrate.c (null)() -> (struct dev_pagemap_ops)->folio_split [0]

drivers/dax/fsdev.c (null)() -> (struct dev_pagemap_ops)->folio_split [0]

drivers/gpu/drm/nouveau/nouveau_dmem.c (null)() -> (struct dev_pagemap_ops)->folio_split [5445675113818132480]