Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

arch/x86/kvm/mmu/mmu.c kvm_arch_vcpu_pre_fault_memory() -> kvm_gfn_direct_bits()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
CAPPED_DATA 0 kvm->mm 1
CAPPED_DATA 0 kvm->srcu.srcu_ctrp 1
UNITS 0 kvm unit_byte
LOCK2 &vcpu->mutex
LOCK2 0 &kvm->srcu
TYPE_LOCK (struct kvm)->srcu
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/mmu/mmu.c kvm_is_gfn_alias() -> kvm_gfn_direct_bits()

Type Parameter Key Value
DATA_SOURCE 0 kvm $0
UNITS 0 kvm unit_byte
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 0 &kvm->srcu

arch/x86/kvm/mmu/mmu.c kvm_mmu_do_page_fault() -> kvm_gfn_direct_bits()

Type Parameter Key Value
UNITS 0 kvm unit_byte
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 0 &kvm->srcu

arch/x86/kvm/x86.c kvm_is_gfn_alias() -> kvm_gfn_direct_bits()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
BUF_SIZE 0 kvm s32min-(-1),1-s32max
BUF_SIZE 0 kvm s32min-(-1),1-s32max
DATA_SOURCE 0 kvm $0
STR_LEN 0 kvm->arch.vm_type (-1)
STR_LEN 0 kvm->stats_id (-1)
NOSPEC 0 kvm->arch.n_max_mmu_pages
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 kvm->arch.has_private_mem 0[c]
USER_DATA 0 kvm->arch.n_max_mmu_pages 64-u64max[c]
USER_DATA 0 kvm->arch.pre_fault_allowed 0-1
USER_DATA 0 kvm->arch.xen.shinfo_cache.kvm->arch.has_private_mem 0[c]
USER_DATA 0 kvm->arch.xen.shinfo_cache.kvm->arch.pre_fault_allowed 0-1
USER_DATA 0 kvm->arch.xen.shinfo_cache.kvm->arch.vm_type 0-31
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_desc_cache.kmem_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_page_header_cache.kmem_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_shadow_page_cache.kmem_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 kvm->nr_memslot_pages
UNITS 0 kvm unit_byte
LOCK2 0 &kvm->slots_arch_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 0 &kvm->lock
HALF_LOCKED2 0 &kvm->slots_lock
TYPE_LOCK (struct kvm)->slots_arch_lock

arch/x86/kvm/mmu/tdp_mmu.c kvm_gfn_root_bits() -> kvm_gfn_direct_bits()

Type Parameter Key Value
BUF_SIZE 0 kvm s32min-(-1),1-s32max
BUF_SIZE 0 kvm s32min-(-1),1-s32max
DATA_SOURCE 0 kvm $0
STR_LEN 0 kvm->arch.vm_type (-1)
STR_LEN 0 kvm->stats_id (-1),47
NOSPEC 0 kvm->arch.n_max_mmu_pages
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 kvm->arch.has_private_mem 0[c]
USER_DATA 0 kvm->arch.n_max_mmu_pages 64-u64max[c]
USER_DATA 0 kvm->arch.nr_reserved_ioapic_pins 0-255
USER_DATA 0 kvm->arch.pre_fault_allowed 0-1
USER_DATA 0 kvm->arch.xen.shinfo_cache.kvm->arch.has_private_mem 0[c]
USER_DATA 0 kvm->arch.xen.shinfo_cache.kvm->arch.pre_fault_allowed 0-1
USER_DATA 0 kvm->arch.xen.shinfo_cache.kvm->arch.vm_type 0-31
USER_DATA 0 kvm->mmu_invalidate_range_start 0-9007199254740990[c]
NO_OVERFLOW_SIMPLE 0 kvm->arch.nx_huge_page_recovery_thread->task->dl.dl_runtime
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_desc_cache.capacity
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_desc_cache.kmem_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_desc_cache.nobjs
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_page_header_cache.capacity
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_page_header_cache.kmem_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_page_header_cache.nobjs
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_shadow_page_cache.capacity
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_shadow_page_cache.kmem_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_shadow_page_cache.nobjs
NO_OVERFLOW_SIMPLE 0 kvm->debugfs_dentry->d_fsdata
NO_OVERFLOW_SIMPLE 0 kvm->debugfs_dentry->d_fsdata->d_fsdata
NO_OVERFLOW_SIMPLE 0 kvm->mm
NO_OVERFLOW_SIMPLE 0 kvm->mm->context.ldt
NO_OVERFLOW_SIMPLE 0 kvm->mm->context.ldt->entries
NO_OVERFLOW_SIMPLE 0 kvm->mm->mm_cid.pcpu
NO_OVERFLOW_SIMPLE 0 kvm->mm->notifier_subscriptions
NO_OVERFLOW_SIMPLE 0 kvm->mm->sc_stat.pcpu_sched
NO_OVERFLOW_SIMPLE 0 kvm->nr_memslot_pages
NO_OVERFLOW_SIMPLE 0 kvm->srcu.sda
NO_OVERFLOW_SIMPLE 0 kvm->srcu.srcu_sup
NO_OVERFLOW_SIMPLE 0 kvm->stats_id
UNITS 0 kvm unit_byte
HALF_LOCKED2 rcu_read
HALF_LOCKED2 0 &kvm->arch.apic_map_lock
HALF_LOCKED2 0 &kvm->arch.apicv_update_lock
HALF_LOCKED2 0 &kvm->lock
HALF_LOCKED2 0 &kvm->mmu_lock
HALF_LOCKED2 0 &kvm->slots_lock
HALF_LOCKED2 0 &kvm->srcu

arch/x86/kvm/mmu/tdp_mmu.c kvm_is_addr_direct() -> kvm_gfn_direct_bits()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
DATA_SOURCE 0 kvm $0
UNITS 0 kvm unit_byte
HALF_LOCKED2 &file->f_mapping->invalidate_lock
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 0 &kvm->mmu_lock
HALF_LOCKED2 0 &kvm->srcu

arch/x86/kvm/vmx/tdx.c __tdx_map_gpa() -> kvm_gfn_direct_bits()

Type Parameter Key Value
UNITS 0 kvm unit_byte
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex

arch/x86/kvm/vmx/tdx.c kvm_is_addr_direct() -> kvm_gfn_direct_bits()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
DATA_SOURCE 0 kvm $0
UNITS 0 kvm unit_byte
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 &kvm->slots_lock

arch/x86/kvm/vmx/tdx.c tdx_emulate_mmio() -> kvm_gfn_direct_bits()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
UNITS 0 kvm unit_byte

arch/x86/kvm/vmx/tdx.c tdx_get_quote() -> kvm_gfn_direct_bits()

Type Parameter Key Value
UNITS 0 kvm unit_byte

arch/x86/kvm/vmx/tdx.c tdx_load_mmu_pgd() -> kvm_gfn_direct_bits()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
UNITS 0 kvm unit_byte

arch/x86/kvm/vmx/tdx.c tdx_read_cpuid() -> kvm_gfn_direct_bits()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
UNITS 0 kvm unit_byte
LOCK2 &vcpu->mutex
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/vmx/vmx.c kvm_is_addr_direct() -> kvm_gfn_direct_bits()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
DATA_SOURCE 0 kvm $0
UNITS 0 kvm unit_byte