Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 7 files:

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