Defined in 2 files as a function:

Referenced in 4 files:

Smatch caller information:

fs/proc/task_mmu.c show_smap() -> thp_vma_allowable_orders()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 0 vma->vm_file 0,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 0,4096-ptr_max
PARAM_VALUE 0 vma->vm_ops 0,4096-ptr_max
PARAM_VALUE 2 type 0
PARAM_VALUE 3 orders 263166
CAPPED_DATA 0 vma 1
CAPPED_DATA 0 vma->vm_end 1
DATA_SOURCE 0 vma $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
TYPE_LOCK (struct seq_file)->lock

mm/memory.c __handle_mm_fault() -> thp_vma_allowable_orders()

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 0,4096-ptr_max
PARAM_VALUE 0 vma->vm_file->f_inode->i_mapping->invalidate_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vma->vm_file->f_inode->i_mapping->invalidate_lock.first_waiter->type 0-1
PARAM_VALUE 0 vma->vm_file->f_inode->i_sb->s_cop->inode_info_offs 1632,1640,1720,1808,1816,2632,2640,2648,2704,2712
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_file->f_mapping->invalidate_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vma->vm_file->f_mapping->invalidate_lock.first_waiter->type 0-1
PARAM_VALUE 0 vma->vm_mm 4096-ptr_max
PARAM_VALUE 0 vma->vm_mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vma->vm_mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 vma->vm_mm->page_table_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 vma->vm_mm->vma_writer_wait.task->sched_class->uclamp_enabled 0-1
PARAM_VALUE 2 type 1
PARAM_VALUE 3 orders 262144
BUF_SIZE 0 vma (-1),1-s32max
BUF_SIZE 0 vma (-1),1-s32max
BUF_SIZE 0 vma->vm_file (-1),4,24,64,168-s32max
BUF_SIZE 0 vma->vm_private_data (-1)-s32max
CAPPED_DATA 0 vma 1
DATA_SOURCE 0 vma $0
NOSPEC 0 vma->vm_pgoff
NOSPEC 0 vma->vm_start
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 vma->vm_end 4096-u64max[c]
USER_DATA 0 vma->vm_pgoff 0-4503599627370495[c]
USER_DATA 0 vma->vm_start 0-18446744073709547520
NO_OVERFLOW_SIMPLE 0 vma->vm_file->f_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 vma->vm_pgoff
NO_OVERFLOW_SIMPLE 0 vma->vm_policy->mode
HALF_LOCKED2 &mm->mmap_lock

mm/memory.c __handle_mm_fault() -> thp_vma_allowable_orders()

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 0,4096-ptr_max
PARAM_VALUE 0 vma->vm_file->f_inode->i_mapping->invalidate_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vma->vm_file->f_inode->i_mapping->invalidate_lock.first_waiter->type 0-1
PARAM_VALUE 0 vma->vm_file->f_inode->i_sb->s_cop->inode_info_offs 1632,1640,1720,1808,1816,2632,2640,2648,2704,2712
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_file->f_mapping->invalidate_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vma->vm_file->f_mapping->invalidate_lock.first_waiter->type 0-1
PARAM_VALUE 0 vma->vm_mm 4096-ptr_max
PARAM_VALUE 0 vma->vm_mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vma->vm_mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 vma->vm_mm->page_table_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 vma->vm_mm->vma_writer_wait.task->sched_class->uclamp_enabled 0-1
PARAM_VALUE 2 type 1
PARAM_VALUE 3 orders 512
BUF_SIZE 0 vma (-1),1-s32max
BUF_SIZE 0 vma (-1),1-s32max
BUF_SIZE 0 vma->vm_file (-1),4,24,64,168-s32max
BUF_SIZE 0 vma->vm_private_data (-1)-s32max
CAPPED_DATA 0 vma 1
DATA_SOURCE 0 vma $0
NOSPEC 0 vma->vm_pgoff
NOSPEC 0 vma->vm_start
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 vma->vm_end 4096-u64max[c]
USER_DATA 0 vma->vm_pgoff 0-4503599627370495[c]
USER_DATA 0 vma->vm_start 0-18446744073709547520
NO_OVERFLOW_SIMPLE 0 vma->vm_file->f_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 vma->vm_pgoff
NO_OVERFLOW_SIMPLE 0 vma->vm_policy->mode
HALF_LOCKED2 &mm->mmap_lock

mm/memory.c alloc_anon_folio() -> thp_vma_allowable_orders()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 0 vma->anon_vma_chain.next 4096-ptr_max
PARAM_VALUE 0 vma->vm_ops 0
PARAM_VALUE 2 type 1
PARAM_VALUE 3 orders 511
BUF_SIZE 0 vma (-1),4,24,64,168-s32max
BUF_SIZE 0 vma (-1),4,24,64,168-s32max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 vma->vm_pgoff
HALF_LOCKED2 &mm->mmap_lock

mm/memory.c thp_swapin_suitable_orders() -> thp_vma_allowable_orders()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 2 type 1
PARAM_VALUE 3 orders 511
BUF_SIZE 0 vma (-1),1-s32max
BUF_SIZE 0 vma (-1),1-s32max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/khugepaged.c collapse_possible_orders() -> thp_vma_allowable_orders()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 2 type 2-3
PARAM_VALUE 3 orders 512,1020
BUF_SIZE 0 vma (-1),4,24,64,168-s32max
BUF_SIZE 0 vma (-1),4,24,64,168-s32max
DATA_SOURCE 0 vma $0
DATA_SOURCE 1 vm_flags $1
DATA_SOURCE 2 type $2
FUZZY_MAX 3 orders 1020
BIT_INFO 3 orders 0x200,0x3fc
BIT_INFO 3 orders 0x200,0x3fc
NOSPEC 0 vma->vm_pgoff
HARD_MAX 2 type 3
HARD_MAX 3 orders 1020
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 vma->vm_end 0-u64max
USER_DATA 0 vma->vm_pgoff 0-4503599627370495[c]
USER_DATA 0 vma->vm_start 0-18446744073709547520[c]
NO_OVERFLOW_SIMPLE 0 vma->vm_pgoff
HALF_LOCKED2 &mm->mmap_lock

mm/khugepaged.c hugepage_vma_revalidate() -> thp_vma_allowable_orders()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 0 vma->vm_end 2097152-u64max
PARAM_VALUE 0 vma->vm_start 0-18446744073707454464
PARAM_VALUE 2 type 2-3
CAPPED_DATA 0 vma->vm_start 1
CAPPED_DATA 3 orders 1
DATA_SOURCE 0 vma r find_vma
FUZZY_MAX 2 type 3
BIT_INFO 2 type 0x2,0x3
HARD_MAX 2 type 3
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/khugepaged.c try_collapse_pte_mapped_thp() -> thp_vma_allowable_orders()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 0 vma->vm_end 2097152-u64max
PARAM_VALUE 0 vma->vm_file 1-u64max
PARAM_VALUE 0 vma->vm_start 0
PARAM_VALUE 2 type 3
PARAM_VALUE 3 orders 512
DATA_SOURCE 0 vma r vma_lookup
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &mm->mmap_lock