Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 4 files:
Smatch caller information:
fs/aio.c aio_migrate_folio() -> folio_migrate_flags()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | newfolio | 4096-ptr_max |
| PARAM_VALUE | 0 | newfolio->mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | newfolio->mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | folio | 4096-ptr_max |
| PARAM_VALUE | 1 | folio->_deferred_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | folio->_deferred_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | folio->index | 0-18446744073709551614 |
| PARAM_VALUE | 1 | folio->mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 1 | folio->mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | folio->page._refcount.counter | s32min-(-1),1-s32max |
| PARAM_VALUE | 1 | *folio->_mm_id | 0-4294967295 |
| CAPPED_DATA | 1 | folio | 1 |
| DATA_SOURCE | 0 | newfolio | $1 |
| DATA_SOURCE | 1 | folio | $2 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &ai->migrate_lock | ||
| LOCK2 | &ctx->completion_lock | ||
| LOCK2 | &ctx->ring_lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct aio_inode_info)->migrate_lock | ||
| TYPE_LOCK | (struct kioctx)->completion_lock | ||
| TYPE_LOCK | (struct kioctx)->ring_lock |
mm/migrate_device.c __migrate_device_pages() -> folio_migrate_flags()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | newfolio->mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | newfolio->mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | folio | 4096-ptr_max |
| PARAM_VALUE | 1 | folio->_deferred_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | folio->_deferred_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | folio->page._refcount.counter | s32min-(-1),1-s32max |
| DATA_SOURCE | 0 | newfolio | r _compound_head |
| DATA_SOURCE | 1 | folio | r _compound_head |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/hugetlbfs/inode.c hugetlbfs_migrate_folio() -> folio_migrate_flags()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | newfolio | 4096-ptr_max |
| PARAM_VALUE | 0 | newfolio->mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | newfolio->mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | folio | 4096-ptr_max |
| PARAM_VALUE | 1 | folio->mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 1 | folio->mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | folio->page._refcount.counter | s32min-(-1),1-s32max |
| PARAM_VALUE | 1 | *folio->_mm_id | 0-4294967295 |
| CAPPED_DATA | 0 | newfolio | 1 |
| CAPPED_DATA | 1 | folio | 1 |
| DATA_SOURCE | 0 | newfolio | $1 |
| DATA_SOURCE | 1 | folio | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
mm/migrate.c __migrate_folio() -> folio_migrate_flags()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | newfolio | 4096-ptr_max |
| PARAM_VALUE | 0 | newfolio->mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | newfolio->mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | *newfolio->_mm_id | 0-4294967295 |
| PARAM_VALUE | 1 | folio | 4096-ptr_max |
| PARAM_VALUE | 1 | folio->_deferred_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | folio->_deferred_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | folio->mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 1 | folio->mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | *folio->_mm_id | 0-4294967295 |
| CAPPED_DATA | 0 | newfolio | 1 |
| CAPPED_DATA | 1 | folio | 1 |
| DATA_SOURCE | 0 | newfolio | $1 |
| DATA_SOURCE | 1 | folio | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | newfolio->index |