Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 4 files:

Smatch caller information:

mm/userfaultfd.c mfill_atomic_hugetlb() -> hugetlb_fault_mutex_hash()

Type Parameter Key Value
PARAM_VALUE 1 idx 0-36028797018963967
DATA_SOURCE 1 idx r hugetlb_linear_page_index
LOCK2 &state.ctx->map_changing_lock
HALF_LOCKED2 &ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/hugetlb.c hugetlb_fault() -> hugetlb_fault_mutex_hash()

Type Parameter Key Value
PARAM_VALUE 1 idx 0-36028797018963967
DATA_SOURCE 1 idx r vma_hugecache_offset
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 idx 0-36028797018963967[c]
UNITS 1 idx unit_page
HALF_LOCKED2 &mm->mmap_lock

mm/hugetlb.c hugetlb_handle_userfault() -> hugetlb_fault_mutex_hash()

Type Parameter Key Value
PARAM_VALUE 1 idx 0-36028797018963967
CAPPED_DATA 1 idx 1
CAPPED_DATA 1 idx 1
DATA_SOURCE 0 mapping $1
NOSPEC 1 idx
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 idx 0-36028797018963967[c]
UNITS 1 idx unit_page
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock

mm/hugetlb.c hugetlb_no_page() -> hugetlb_fault_mutex_hash()

Type Parameter Key Value
PARAM_VALUE 1 idx 0-36028797018963967
DATA_SOURCE 0 mapping $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 idx 0-36028797018963967[c]
UNITS 1 idx unit_page
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock

mm/hugetlb.c hugetlb_wp() -> hugetlb_fault_mutex_hash()

Type Parameter Key Value
PARAM_VALUE 1 idx 0-36028797018963967
DATA_SOURCE 1 idx r vma_hugecache_offset
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 idx 0-36028797018963967[c]
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock

fs/hugetlbfs/inode.c hugetlbfs_fallocate() -> hugetlb_fault_mutex_hash()

Type Parameter Key Value
PARAM_VALUE 1 idx 1-9223372036854775806
CAPPED_DATA 1 idx 1
CAPPED_DATA 1 idx 1
NOSPEC 1 idx
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 idx 1-9223372036854775806
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/hugetlbfs/inode.c remove_inode_hugepages() -> hugetlb_fault_mutex_hash()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
BUF_SIZE 0 mapping 552
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem

mm/memfd.c memfd_alloc_folio() -> hugetlb_fault_mutex_hash()

Type Parameter Key Value
PARAM_VALUE 0 mapping 0,4096-ptr_max
CAPPED_DATA 1 idx 1
CAPPED_DATA 1 idx 1
DATA_SOURCE 1 idx $1 [m]
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 _T->lock