Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

arch/x86/kvm/mmu/mmu.c ept_walk_addr_generic() -> permission_fault()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 4096-ptr_max
PARAM_VALUE 0 vcpu->arch.apic->vcpu->kvm->arch.apicv_update_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vcpu->arch.apic->vcpu->kvm->arch.apicv_update_lock.first_waiter->type 0-1
PARAM_VALUE 0 vcpu->arch.apic->vcpu->run->emulation_failure.ndata 6,8,10,12
PARAM_VALUE 0 vcpu->arch.apic->vcpu->run->hypercall.ret 0-s32max,1844674407370955159,18446744071562067968-u64max
PARAM_VALUE 0 vcpu->arch.apic->vcpu->run->system_event.ndata 0-1,16
PARAM_VALUE 0 vcpu->arch.apic->vcpu->run->system_event.type 2-3,6-7
PARAM_VALUE 0 vcpu->arch.emulate_ctxt->ops->get_cr 4096-ptr_max
PARAM_VALUE 0 vcpu->arch.mmu 4096-ptr_max
PARAM_VALUE 0 vcpu->kvm 4096-ptr_max
PARAM_VALUE 0 vcpu->kvm->arch.apicv_update_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vcpu->kvm->arch.apicv_update_lock.first_waiter->type 0-1
PARAM_VALUE 0 vcpu->run->debug.arch.exception 1,3
PARAM_VALUE 0 vcpu->run->emulation_failure.flags 0-1
PARAM_VALUE 0 vcpu->run->emulation_failure.insn_size 1-255
PARAM_VALUE 0 vcpu->run->emulation_failure.ndata 6,8,10,12
PARAM_VALUE 0 vcpu->run->emulation_failure.suberror 1
PARAM_VALUE 0 vcpu->run->hypercall.ret 0-s32max,1844674407370955159,18446744071562067968-u64max
PARAM_VALUE 0 vcpu->run->internal.ndata 0,2,4-5
PARAM_VALUE 0 vcpu->run->internal.suberror 1-4
PARAM_VALUE 0 vcpu->run->memory_fault.flags 0,8
PARAM_VALUE 0 vcpu->run->memory_fault.gpa 0,4096-18446744073709547520
PARAM_VALUE 0 vcpu->run->memory_fault.size 4096
PARAM_VALUE 0 vcpu->run->mmio.is_write 0-1
PARAM_VALUE 0 vcpu->run->mmio.len 0-8
PARAM_VALUE 0 vcpu->run->system_event.ndata 0-1,16
PARAM_VALUE 0 vcpu->run->system_event.type 2-3,6-7
PARAM_VALUE 1 w 4096-ptr_max
PARAM_VALUE 2 pte_access 0-15
PARAM_VALUE 3 pte_pkey 0
BUF_SIZE 0 vcpu s32min-(-1),1-s32max
BUF_SIZE 0 vcpu s32min-(-1),1-s32max
BUF_SIZE 1 w (-1),168
BUF_SIZE 1 w (-1),168
CAPPED_DATA 0 vcpu->arch.mmu 1
DATA_SOURCE 0 vcpu $1
DATA_SOURCE 1 w $2
DATA_SOURCE 2 pte_access r ept_gpte_access
DATA_SOURCE 3 pte_pkey r ept_gpte_pkeys
DATA_SOURCE 4 access $4
NOSPEC 0 vcpu->arch.mmio_gfn
NOSPEC 0 vcpu->arch.xen.runstate_cache.uhva
HOST_DATA 0 vcpu->arch.host_debugctl 0-u64max[c]
USER_DATA 0 vcpu->arch.cr8 0-14
USER_DATA 0 vcpu->arch.mmio_gfn 0-4503599627370495[c]
USER_DATA 0 vcpu->arch.mmu->root.pgd 0-u64max
USER_DATA 0 vcpu->arch.xen.runstate2_cache.gpa 0-18446744073709551614[c]
USER_DATA 0 vcpu->arch.xen.runstate2_cache.pfn 0-4503599627370494[c]
USER_DATA 0 vcpu->arch.xen.runstate2_cache.uhva 0-u64max[c]
USER_DATA 0 vcpu->arch.xen.runstate_cache.gpa 0-18446744073709551614[c]
USER_DATA 0 vcpu->arch.xen.runstate_cache.pfn 0-4503599627370494[c]
USER_DATA 0 vcpu->arch.xen.runstate_cache.uhva 0-u64max[c]
USER_DATA 0 vcpu->run->memory_fault.gpa 0,4096-18446744073709547520[c]
USER_DATA 0 *vcpu->arch.emulate_ctxt->fetch.end 0-255
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_external_spt_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_external_spt_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_page_header_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_page_header_cache.kmem_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_page_header_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_pte_list_desc_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_pte_list_desc_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadow_page_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadow_page_cache.kmem_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadow_page_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadowed_info_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadowed_info_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.pio.count
NO_OVERFLOW_SIMPLE 0 vcpu->arch.pio.size
USER_PTR 0 vcpu->arch.emulate_ctxt->fetch.end
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.intercept_message
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved2
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved3
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved4
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.virtualization_fault_information
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.vtl_ret_actions
USER_PTR 0 vcpu->arch.pdptrs
HALF_LOCKED2 0 &vcpu->kvm->srcu
HALF_LOCKED2 0 &vcpu->mutex

arch/x86/kvm/mmu/mmu.c paging32_walk_addr_generic() -> permission_fault()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 4096-ptr_max
PARAM_VALUE 0 vcpu->arch.apic->vcpu->kvm->arch.apicv_update_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vcpu->arch.apic->vcpu->kvm->arch.apicv_update_lock.first_waiter->type 0-1
PARAM_VALUE 0 vcpu->arch.apic->vcpu->run->emulation_failure.ndata 6,8,10,12
PARAM_VALUE 0 vcpu->arch.apic->vcpu->run->hypercall.ret 0-s32max,1844674407370955159,18446744071562067968-u64max
PARAM_VALUE 0 vcpu->arch.apic->vcpu->run->system_event.ndata 0-1,16
PARAM_VALUE 0 vcpu->arch.apic->vcpu->run->system_event.type 2-3,6-7
PARAM_VALUE 0 vcpu->arch.emulate_ctxt->ops->get_cr 4096-ptr_max
PARAM_VALUE 0 vcpu->arch.mmu 4096-ptr_max
PARAM_VALUE 0 vcpu->kvm 4096-ptr_max
PARAM_VALUE 0 vcpu->kvm->arch.apicv_update_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vcpu->kvm->arch.apicv_update_lock.first_waiter->type 0-1
PARAM_VALUE 0 vcpu->run->debug.arch.exception 1,3
PARAM_VALUE 0 vcpu->run->emulation_failure.flags 0-1
PARAM_VALUE 0 vcpu->run->emulation_failure.insn_size 1-255
PARAM_VALUE 0 vcpu->run->emulation_failure.ndata 6,8,10,12
PARAM_VALUE 0 vcpu->run->emulation_failure.suberror 1
PARAM_VALUE 0 vcpu->run->hypercall.ret 0-s32max,1844674407370955159,18446744071562067968-u64max
PARAM_VALUE 0 vcpu->run->internal.ndata 0,2,4-5
PARAM_VALUE 0 vcpu->run->internal.suberror 1-4
PARAM_VALUE 0 vcpu->run->memory_fault.flags 0,8
PARAM_VALUE 0 vcpu->run->memory_fault.gpa 0,4096-18446744073709547520
PARAM_VALUE 0 vcpu->run->memory_fault.size 4096
PARAM_VALUE 0 vcpu->run->mmio.is_write 0-1
PARAM_VALUE 0 vcpu->run->mmio.len 0-8
PARAM_VALUE 0 vcpu->run->system_event.ndata 0-1,16
PARAM_VALUE 0 vcpu->run->system_event.type 2-3,6-7
PARAM_VALUE 1 w 4096-ptr_max
PARAM_VALUE 2 pte_access 0-15
PARAM_VALUE 3 pte_pkey 0
BUF_SIZE 0 vcpu s32min-(-1),1-s32max
BUF_SIZE 0 vcpu s32min-(-1),1-s32max
BUF_SIZE 1 w (-1),168
BUF_SIZE 1 w (-1),168
CAPPED_DATA 0 vcpu->arch.mmu 1
DATA_SOURCE 0 vcpu $1
DATA_SOURCE 1 w $2
DATA_SOURCE 2 pte_access r paging32_gpte_access
DATA_SOURCE 3 pte_pkey r paging32_gpte_pkeys
DATA_SOURCE 4 access $4
NOSPEC 0 vcpu->arch.mmio_gfn
NOSPEC 0 vcpu->arch.xen.runstate_cache.uhva
HOST_DATA 0 vcpu->arch.host_debugctl 0-u64max[c]
USER_DATA 0 vcpu->arch.cr8 0-14
USER_DATA 0 vcpu->arch.mmio_gfn 0-4503599627370495[c]
USER_DATA 0 vcpu->arch.mmu->root.pgd 0-u64max
USER_DATA 0 vcpu->arch.xen.runstate2_cache.gpa 0-18446744073709551614[c]
USER_DATA 0 vcpu->arch.xen.runstate2_cache.pfn 0-4503599627370494[c]
USER_DATA 0 vcpu->arch.xen.runstate2_cache.uhva 0-u64max[c]
USER_DATA 0 vcpu->arch.xen.runstate_cache.gpa 0-18446744073709551614[c]
USER_DATA 0 vcpu->arch.xen.runstate_cache.pfn 0-4503599627370494[c]
USER_DATA 0 vcpu->arch.xen.runstate_cache.uhva 0-u64max[c]
USER_DATA 0 vcpu->run->memory_fault.gpa 0,4096-18446744073709547520[c]
USER_DATA 0 *vcpu->arch.emulate_ctxt->fetch.end 0-255
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_external_spt_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_external_spt_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_page_header_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_page_header_cache.kmem_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_page_header_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_pte_list_desc_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_pte_list_desc_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadow_page_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadow_page_cache.kmem_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadow_page_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadowed_info_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadowed_info_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.pio.count
NO_OVERFLOW_SIMPLE 0 vcpu->arch.pio.size
USER_PTR 0 vcpu->arch.emulate_ctxt->fetch.end
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.intercept_message
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved2
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved3
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved4
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.virtualization_fault_information
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.vtl_ret_actions
USER_PTR 0 vcpu->arch.pdptrs
HALF_LOCKED2 0 &vcpu->kvm->srcu
HALF_LOCKED2 0 &vcpu->mutex

arch/x86/kvm/mmu/mmu.c paging64_walk_addr_generic() -> permission_fault()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 4096-ptr_max
PARAM_VALUE 0 vcpu->arch.apic->vcpu->kvm->arch.apicv_update_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vcpu->arch.apic->vcpu->kvm->arch.apicv_update_lock.first_waiter->type 0-1
PARAM_VALUE 0 vcpu->arch.apic->vcpu->run->emulation_failure.ndata 6,8,10,12
PARAM_VALUE 0 vcpu->arch.apic->vcpu->run->hypercall.ret 0-s32max,1844674407370955159,18446744071562067968-u64max
PARAM_VALUE 0 vcpu->arch.apic->vcpu->run->system_event.ndata 0-1,16
PARAM_VALUE 0 vcpu->arch.apic->vcpu->run->system_event.type 2-3,6-7
PARAM_VALUE 0 vcpu->arch.emulate_ctxt->ops->get_cr 4096-ptr_max
PARAM_VALUE 0 vcpu->arch.mmu 4096-ptr_max
PARAM_VALUE 0 vcpu->kvm 4096-ptr_max
PARAM_VALUE 0 vcpu->kvm->arch.apicv_update_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vcpu->kvm->arch.apicv_update_lock.first_waiter->type 0-1
PARAM_VALUE 0 vcpu->run->debug.arch.exception 1,3
PARAM_VALUE 0 vcpu->run->emulation_failure.flags 0-1
PARAM_VALUE 0 vcpu->run->emulation_failure.insn_size 1-255
PARAM_VALUE 0 vcpu->run->emulation_failure.ndata 6,8,10,12
PARAM_VALUE 0 vcpu->run->emulation_failure.suberror 1
PARAM_VALUE 0 vcpu->run->hypercall.ret 0-s32max,1844674407370955159,18446744071562067968-u64max
PARAM_VALUE 0 vcpu->run->internal.ndata 0,2,4-5
PARAM_VALUE 0 vcpu->run->internal.suberror 1-4
PARAM_VALUE 0 vcpu->run->memory_fault.flags 0,8
PARAM_VALUE 0 vcpu->run->memory_fault.gpa 0,4096-18446744073709547520
PARAM_VALUE 0 vcpu->run->memory_fault.size 4096
PARAM_VALUE 0 vcpu->run->mmio.is_write 0-1
PARAM_VALUE 0 vcpu->run->mmio.len 0-8
PARAM_VALUE 0 vcpu->run->system_event.ndata 0-1,16
PARAM_VALUE 0 vcpu->run->system_event.type 2-3,6-7
PARAM_VALUE 1 w 4096-ptr_max
PARAM_VALUE 2 pte_access 0-15
PARAM_VALUE 3 pte_pkey 0-15
BUF_SIZE 0 vcpu s32min-(-1),1-s32max
BUF_SIZE 0 vcpu s32min-(-1),1-s32max
BUF_SIZE 1 w (-1),168
BUF_SIZE 1 w (-1),168
CAPPED_DATA 0 vcpu->arch.mmu 1
DATA_SOURCE 0 vcpu $1
DATA_SOURCE 1 w $2
DATA_SOURCE 2 pte_access r paging64_gpte_access
DATA_SOURCE 3 pte_pkey r paging64_gpte_pkeys
DATA_SOURCE 4 access $4
NOSPEC 0 vcpu->arch.mmio_gfn
NOSPEC 0 vcpu->arch.xen.runstate_cache.uhva
HOST_DATA 0 vcpu->arch.host_debugctl 0-u64max[c]
USER_DATA 0 vcpu->arch.cr8 0-14
USER_DATA 0 vcpu->arch.mmio_gfn 0-4503599627370495[c]
USER_DATA 0 vcpu->arch.mmu->root.pgd 0-u64max
USER_DATA 0 vcpu->arch.xen.runstate2_cache.gpa 0-18446744073709551614[c]
USER_DATA 0 vcpu->arch.xen.runstate2_cache.pfn 0-4503599627370494[c]
USER_DATA 0 vcpu->arch.xen.runstate2_cache.uhva 0-u64max[c]
USER_DATA 0 vcpu->arch.xen.runstate_cache.gpa 0-18446744073709551614[c]
USER_DATA 0 vcpu->arch.xen.runstate_cache.pfn 0-4503599627370494[c]
USER_DATA 0 vcpu->arch.xen.runstate_cache.uhva 0-u64max[c]
USER_DATA 0 vcpu->run->memory_fault.gpa 0,4096-18446744073709547520[c]
USER_DATA 0 *vcpu->arch.emulate_ctxt->fetch.end 0-255
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_external_spt_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_external_spt_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_page_header_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_page_header_cache.kmem_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_page_header_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_pte_list_desc_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_pte_list_desc_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadow_page_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadow_page_cache.kmem_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadow_page_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadowed_info_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadowed_info_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.pio.count
NO_OVERFLOW_SIMPLE 0 vcpu->arch.pio.size
USER_PTR 0 vcpu->arch.emulate_ctxt->fetch.end
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.intercept_message
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved2
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved3
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved4
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.virtualization_fault_information
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.vtl_ret_actions
USER_PTR 0 vcpu->arch.pdptrs
HALF_LOCKED2 0 &vcpu->kvm->srcu
HALF_LOCKED2 0 &vcpu->mutex

arch/x86/kvm/x86.c vcpu_mmio_gva_to_gpa() -> permission_fault()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 4096-ptr_max
PARAM_VALUE 0 vcpu->arch.emulate_ctxt 4096-ptr_max
PARAM_VALUE 0 vcpu->arch.mmio_gva 4096-u64max
PARAM_VALUE 0 vcpu->kvm 4096-ptr_max
PARAM_VALUE 1 w 4096-ptr_max
PARAM_VALUE 3 pte_pkey 0
PARAM_VALUE 4 access 0,2,4,6
BUF_SIZE 0 vcpu 1-s32max
BUF_SIZE 0 vcpu 1-s32max
BUF_SIZE 1 w 168
CAPPED_DATA 0 vcpu->arch.mmio_gen 1
CAPPED_DATA 0 vcpu->arch.mmio_gva 1
DATA_SOURCE 0 vcpu $0
FUZZY_MAX 4 access 6
PARAM_COMPARE 0 &vcpu->arch.gva_walk == $1
HARD_MAX 4 access 6