Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 2 files as a function:
Referenced in 7 files:
- arch/arc/kernel/process.c, line 94
- arch/s390/pci/pci_mmio.c
- drivers/vfio/vfio_iommu_type1.c, line 551
- kernel/futex/core.c, line 747
- kernel/trace/trace_events_user.c, line 456
- mm/gup.c
- virt/kvm/kvm_main.c, line 2962
Smatch caller information:
kernel/trace/trace_events_user.c user_event_mm_fault_in() -> fixup_user_fault()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 2 | fault_flags | 129 |
| PARAM_VALUE | 3 | unlocked | 36202334130073600 |
| DATA_SOURCE | 1 | address | $1 |
| USER_DATA | 1 | address | 0-u64max |
| UNITS | 0 | mm | unit_byte |
| LOCK2 | 0 | &mm->mmap_lock | |
| HALF_LOCKED2 | &group->reg_mutex | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
kernel/futex/core.c fault_in_user_writeable() -> fixup_user_fault()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 2 | fault_flags | 1 |
| PARAM_VALUE | 3 | unlocked | 0 |
| DATA_SOURCE | 1 | address | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0-u64max[c] |
| UNITS | 0 | mm | unit_byte |
| LOCK2 | 0 | &mm->mmap_lock | |
| HALF_LOCKED2 | &curr->futex.exit_mutex | ||
| HALF_LOCKED2 | &pi_state->pi_mutex.wait_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
drivers/vfio/vfio_iommu_type1.c follow_fault_pfn() -> fixup_user_fault()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | address | 0 |
| PARAM_VALUE | 2 | fault_flags | 128-129 |
| PARAM_VALUE | 3 | unlocked | 5568833268351266816 |
| PARAM_VALUE | 3 | *unlocked | 0 |
| DATA_SOURCE | 0 | mm | $1 |
| DATA_SOURCE | 1 | address | $2 |
| BIT_INFO | 2 | fault_flags | 0x80,0x81 |
| UNITS | 0 | mm | unit_byte |
| UNITS | 1 | address | unit_byte |
| LOCK2 | &iommu->lock | ||
| LOCK2 | 0 | &mm->mmap_lock | |
| HALF_LOCKED2 | &vgpu->cache_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock | ||
| TYPE_LOCK | (struct vfio_iommu)->lock |
mm/gup.c fault_in_safe_writeable() -> fixup_user_fault()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | address | 1-18446744073709551614 |
| PARAM_VALUE | 2 | fault_flags | 1 |
| PARAM_VALUE | 3 | unlocked | 4204973195436843008 |
| CAPPED_DATA | 1 | address | 1 |
| CAPPED_DATA | 1 | address | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| UNITS | 1 | address | unit_byte |
| LOCK2 | 0 | &mm->mmap_lock | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
arch/x86/kvm/../../../virt/kvm/kvm_main.c hva_to_pfn_remapped() -> fixup_user_fault()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | address | 0 |
| PARAM_VALUE | 2 | fault_flags | 0-1 |
| PARAM_VALUE | 3 | unlocked | 4999758641569390592 |
| PARAM_VALUE | 3 | *unlocked | 0 |
| FUZZY_MAX | 2 | fault_flags | 1 |
| HARD_MAX | 2 | fault_flags | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0[c] |
| UNITS | 0 | mm | unit_byte |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | _T->lock |