Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

kernel/sched/fair.c task_numa_work() -> vma_migratable()

Type Parameter Key Value
PARAM_VALUE 0 vma 1-u64max
PARAM_VALUE 0 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->type 0-1
DATA_SOURCE 0 vma r vma_next
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->mmap_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/mempolicy.c queue_folios_hugetlb() -> vma_migratable()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 0 vma->flags.__vma_flags 4096-ptr_max
PARAM_VALUE 0 vma->vm_file 4096-ptr_max
PARAM_VALUE 0 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 vma->vm_mm 4096-ptr_max
PARAM_VALUE 0 vma->vm_private_data->rw_sema.dep_map->name 0-255
PARAM_VALUE 0 vma->vm_private_data->rw_sema.first_waiter->list.next 2212933610777083904,2624917664208203776
PARAM_VALUE 0 vma->vm_private_data->rw_sema.first_waiter->list.prev 2212933610777083904,2624917664208203776
PARAM_VALUE 0 vma->vm_private_data->rw_sema.first_waiter->type 0-1
CAPPED_DATA 0 vma 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &mapping->i_mmap_rwsem

mm/mempolicy.c queue_folios_pmd() -> vma_migratable()

Type Parameter Key Value
PARAM_VALUE 0 vma 0,4096-ptr_max
PARAM_VALUE 0 vma->flags.__vma_flags 4096-ptr_max
PARAM_VALUE 0 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->type 0-1
CAPPED_DATA 0 vma 1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 vma->vm_end
NO_OVERFLOW_SIMPLE 0 vma->vm_start
HALF_LOCKED2 &mm->mmap_lock

mm/mempolicy.c queue_folios_pte_range() -> vma_migratable()

Type Parameter Key Value
PARAM_VALUE 0 vma 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 vma->vm_end
NO_OVERFLOW_SIMPLE 0 vma->vm_start
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/mempolicy.c queue_pages_test_walk() -> vma_migratable()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
CAPPED_DATA 0 vma->vm_start 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mapping->i_mmap_rwsem

mm/migrate.c add_folio_for_migration() -> vma_migratable()

Type Parameter Key Value
PARAM_VALUE 0 vma 1-u64max
DATA_SOURCE 0 vma r vma_lookup
LOCK2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock