Defined in 3 files as a function:

Referenced in 23 files:

Smatch caller information:

arch/x86/kvm/../../../virt/kvm/async_pf.c kvm_setup_async_pf() -> kvm_is_error_hva()

Type Parameter Key Value
DATA_SOURCE 0 addr $2
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex

arch/x86/kvm/vmx/sgx.c sgx_gpa_to_hva() -> kvm_is_error_hva()

Type Parameter Key Value
DATA_SOURCE 0 addr r kvm_vcpu_gfn_to_hva

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

Type Parameter Key Value
CAPPED_DATA 0 addr 1
CAPPED_DATA 0 addr 1
DATA_SOURCE 0 addr r gfn_to_hva_memslot_prot
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex

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

Type Parameter Key Value
CAPPED_DATA 0 addr 1
CAPPED_DATA 0 addr 1
DATA_SOURCE 0 addr r gfn_to_hva_memslot_prot
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex

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

Type Parameter Key Value
CAPPED_DATA 0 addr 1
CAPPED_DATA 0 addr 1
DATA_SOURCE 0 addr r gfn_to_hva_memslot_prot
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex

arch/x86/kvm/../../../virt/kvm/pfncache.c __kvm_gpc_refresh() -> kvm_is_error_hva()

Type Parameter Key Value
DATA_SOURCE 0 addr $2
NOSPEC 0 addr
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 addr 0-u64max[c]
UNITS 0 addr unit_byte
LOCK2 _T->lock
HALF_LOCKED2 &kvm->arch.xen.xen_lock
HALF_LOCKED2 &kvm->srcu

arch/x86/kvm/../../../virt/kvm/pfncache.c __kvm_gpc_refresh() -> kvm_is_error_hva()

Type Parameter Key Value
NOSPEC 0 addr
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 addr 0-u64max[c]
UNITS 0 addr unit_byte
LOCK2 &gpc->lock
LOCK2 _T->lock
LOCK2 irq
HALF_LOCKED2 &kvm->arch.xen.xen_lock
HALF_LOCKED2 &kvm->srcu
TYPE_LOCK (struct gfn_to_pfn_cache)->lock

arch/x86/kvm/../../../virt/kvm/pfncache.c __kvm_gpc_refresh() -> kvm_is_error_hva()

Type Parameter Key Value
DATA_SOURCE 0 addr r gfn_to_hva_memslot
NOSPEC 0 addr
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 addr 0-u64max[c]
UNITS 0 addr unit_byte
LOCK2 &gpc->lock
LOCK2 _T->lock
LOCK2 irq
HALF_LOCKED2 &kvm->arch.xen.xen_lock
HALF_LOCKED2 &kvm->srcu
TYPE_LOCK (struct gfn_to_pfn_cache)->lock

arch/x86/kvm/../../../virt/kvm/pfncache.c kvm_gpc_check() -> kvm_is_error_hva()

Type Parameter Key Value
NOSPEC 0 addr
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 addr 0-u64max[c]
UNITS 0 addr unit_byte
LOCK2 &gpc->lock
HALF_LOCKED2 &gpc1->lock
HALF_LOCKED2 &kvm->arch.xen.xen_lock
HALF_LOCKED2 &kvm->srcu
HALF_LOCKED2 &v->kvm->srcu
HALF_LOCKED2 &v->mutex
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct gfn_to_pfn_cache)->lock

arch/x86/kvm/hyperv.c kvm_hv_set_msr() -> kvm_is_error_hva()

Type Parameter Key Value
DATA_SOURCE 0 addr r kvm_vcpu_gfn_to_hva

arch/x86/kvm/x86.c emulator_cmpxchg_emulated() -> kvm_is_error_hva()

Type Parameter Key Value
DATA_SOURCE 0 addr r kvm_vcpu_gfn_to_hva

arch/x86/kvm/x86.c kvm_steal_time_set_preempted() -> kvm_is_error_hva()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 irq
TYPE_LOCK (struct kvm)->srcu

arch/x86/kvm/x86.c record_steal_time() -> kvm_is_error_hva()

Type Parameter Key Value
LOCK2 &vcpu->kvm->srcu
LOCK2 &vcpu->mutex
TYPE_LOCK (struct kvm)->srcu
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/x86.c record_steal_time() -> kvm_is_error_hva()

Type Parameter Key Value
USER_DATA 0 addr 1-18446612682070036478[c][u]
LOCK2 &vcpu->kvm->srcu
LOCK2 &vcpu->mutex
TYPE_LOCK (struct kvm)->srcu
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/../../../virt/kvm/kvm_main.c __kvm_gfn_to_hva_cache_init() -> kvm_is_error_hva()

Type Parameter Key Value
DATA_SOURCE 0 addr r gfn_to_hva_many
PREEMPT_ADD
USER_DATA 0 addr 1-18446612682070036478[c][u]

arch/x86/kvm/../../../virt/kvm/kvm_main.c __kvm_read_guest_atomic() -> kvm_is_error_hva()

Type Parameter Key Value
CAPPED_DATA 0 addr 1
CAPPED_DATA 0 addr 1
DATA_SOURCE 0 addr r gfn_to_hva_memslot_prot
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vcpu->kvm->mmu_lock

arch/x86/kvm/../../../virt/kvm/kvm_main.c __kvm_read_guest_page() -> kvm_is_error_hva()

Type Parameter Key Value
CAPPED_DATA 0 addr 1
CAPPED_DATA 0 addr 1
DATA_SOURCE 0 addr r gfn_to_hva_memslot_prot
PREEMPT_ADD

arch/x86/kvm/../../../virt/kvm/kvm_main.c __kvm_write_guest_page() -> kvm_is_error_hva()

Type Parameter Key Value
DATA_SOURCE 0 addr r gfn_to_hva_memslot
HALF_LOCKED2 &kvm->srcu

arch/x86/kvm/../../../virt/kvm/kvm_main.c gfn_to_hva_memslot_prot() -> kvm_is_error_hva()

Type Parameter Key Value
DATA_SOURCE 0 addr r __gfn_to_hva_many
RX_PATH
TASK_NOT_RUNNING

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_follow_pfn() -> kvm_is_error_hva()

Type Parameter Key Value
DATA_SOURCE 0 addr r __gfn_to_hva_many
UNITS 0 addr unit_byte

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_host_page_size() -> kvm_is_error_hva()

Type Parameter Key Value
CAPPED_DATA 0 addr 1
CAPPED_DATA 0 addr 1
DATA_SOURCE 0 addr r kvm_vcpu_gfn_to_hva_prot

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_prefetch_pages() -> kvm_is_error_hva()

Type Parameter Key Value
DATA_SOURCE 0 addr r gfn_to_hva_many
LOCK2 &vcpu->kvm->mmu_lock
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex
TYPE_LOCK (struct kvm)->mmu_lock

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_read_guest_offset_cached() -> kvm_is_error_hva()

Type Parameter Key Value
PREEMPT_ADD
USER_DATA 0 addr 1-18446612682070036478[c][u]

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_write_guest_offset_cached() -> kvm_is_error_hva()

Type Parameter Key Value
PREEMPT_ADD
USER_DATA 0 addr 1-18446612682070036478[c][u]
HALF_LOCKED2 &kvm->srcu
HALF_LOCKED2 &vcpu->mutex