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 |