Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 10 files:

Smatch caller information:

mm/madvise.c madvise_cold_or_pageout_pte_range() -> folio_isolate_lru()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio r _compound_head
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/madvise.c madvise_cold_or_pageout_pte_range() -> folio_isolate_lru()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->_deferred_list.next->prev 4096-ptr_max
PARAM_VALUE 0 folio->_deferred_list.prev->next 4096-ptr_max
PARAM_VALUE 0 folio->mapping->host->i_sb->s_export_op->fh_to_dentry 0,8684,447817974243774464,687732489194512384,742201802719268864,868497899885588480,1471448175530500096,2021658383390310400,2445877819203563520,2512819722689847296,2649270699546726400,2761259683714371584,2893332316235677696-s64max
PARAM_VALUE 0 folio->page.zone_device_data->kref.refcount.refs.counter s32min-s32max
DATA_SOURCE 0 folio r vm_normal_folio
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/damon/vaddr.c damos_va_migrate_dests_add() -> folio_isolate_lru()

Type Parameter Key Value
PARAM_VALUE 0 folio 1-u64max
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
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 ptl

mm/memory_hotplug.c do_migrate_range() -> folio_isolate_lru()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->mapping->host->i_sb->s_export_op->fh_to_dentry 0,447817974243774464,687732489194512384,742201802719268864,868497899885588480,1471448175530500096,2021658383390310400,2445877819203563520,2512819722689847296,2649270699546726400,2761259683714371584,2893332316235677696-s64max
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->page._refcount.counter 0-s32max
PARAM_VALUE 0 *folio->_mm_id 0-4294967295
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio r _compound_head
RX_PATH
TASK_NOT_RUNNING
UNITS 0 folio unit_page
LOCK2 &dev->mutex
LOCK2 global &pcp_batch_high_lock
HALF_LOCKED2 &device->physical_node_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &device_hotplug_lock
TYPE_LOCK (struct device)->mutex

mm/damon/paddr.c damon_pa_migrate() -> folio_isolate_lru()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->mapping->i_mmap_rwsem.dep_map->name 0-255
PARAM_VALUE 0 folio->mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 folio->mapping->i_mmap_rwsem.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 folio->mapping->i_mmap_rwsem.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 folio->mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 *folio->_mm_id 0-4294967295
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio r damon_get_folio
LOCK2 &ctx->walk_control_lock
TYPE_LOCK (struct damon_ctx)->walk_control_lock

mm/damon/paddr.c damon_pa_pageout() -> folio_isolate_lru()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->mapping->host->i_sb->s_export_op->fh_to_dentry 0,8684,447817974243774464,687732489194512384,742201802719268864
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
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio r damon_get_folio
LOCK2 &ctx->walk_control_lock
TYPE_LOCK (struct damon_ctx)->walk_control_lock

mm/migrate_device.c migrate_device_unmap() -> folio_isolate_lru()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio r _compound_head
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

mm/memory-failure.c delete_from_lru_cache() -> folio_isolate_lru()

Type Parameter Key Value
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &mf_mutex
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock

mm/gup.c collect_longterm_unpinnable_folios() -> folio_isolate_lru()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->mapping->host->i_sb->s_export_op->fh_to_dentry 0,8684,447817974243774464,687732489194512384,742201802719268864,868497899885588480,1471448175530500096,2021658383390310400,2445877819203563520,2512819722689847296,2649270699546726400,2761259683714371584,2893332316235677696-s64max
PARAM_VALUE 0 folio->page.flags.f 0-18446744073709551614
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

mm/mempolicy.c migrate_folio_add() -> folio_isolate_lru()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 ptl

mm/migrate.c __add_folio_for_migration() -> folio_isolate_lru()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
LOCK2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/migrate.c isolate_folio_to_list() -> folio_isolate_lru()

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
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 folio unit_page
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &mf_mutex
HALF_LOCKED2 global &pcp_batch_high_lock

mm/migrate.c migrate_misplaced_folio_prepare() -> folio_isolate_lru()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 rcu_read
HALF_LOCKED2 vmf->ptl

mm/khugepaged.c __collapse_huge_page_isolate() -> folio_isolate_lru()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->mapping->host->i_sb->s_export_op->fh_to_dentry 0,8684,447817974243774464,687732489194512384,742201802719268864
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vma->anon_vma->root->rwsem
LOCK2 pte_ptl
HALF_LOCKED2 &mm->mmap_lock
TYPE_LOCK (struct anon_vma)->rwsem
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/khugepaged.c collapse_file() -> folio_isolate_lru()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->mapping->host->i_sb->s_export_op->fh_to_dentry 0,8684,447817974243774464,687732489194512384,742201802719268864,868497899885588480,1471448175530500096,2021658383390310400,2445877819203563520,2512819722689847296,2649270699546726400,2761259683714371584,2893332316235677696-s64max
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
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock