Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

arch/x86/kvm/mmu/tdp_mmu.c __kvm_tdp_mmu_age_gfn_range() -> kvm_gfn_root_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
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 kvm->mmu_invalidate_range_start 0-9007199254740990[c]
LOCK2 rcu_read
HALF_LOCKED2 global &srcu
HALF_LOCKED2 0 &kvm->mmu_lock
HALF_LOCKED2 0 &kvm->slots_lock
HALF_LOCKED2 0 &kvm->srcu

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

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
DATA_SOURCE 0 kvm $0
DATA_SOURCE 1 root $1
STR_LEN 0 kvm->arch.vm_type (-1)
STR_LEN 0 kvm->stats_id (-1),47
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.nx_huge_page_recovery_thread->task->dl.dl_runtime
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 rcu_read
LOCK2 0 &kvm->mmu_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 0 &kvm->lock
HALF_LOCKED2 0 &kvm->slots_lock
TYPE_LOCK (struct kvm)->mmu_lock

arch/x86/kvm/mmu/tdp_mmu.c clear_dirty_pt_masked() -> kvm_gfn_root_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
DATA_SOURCE 1 root $1
UNITS 0 kvm unit_byte
LOCK2 rcu_read
LOCK2 0 &kvm->mmu_lock
HALF_LOCKED2 &kvm->slots_lock
HALF_LOCKED2 0 &kvm->slots_lock
TYPE_LOCK (struct kvm)->mmu_lock
TYPE_LOCK (struct kvm)->slots_lock

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

Type Parameter Key Value
DATA_SOURCE 1 root r tdp_mmu_get_root
UNITS 0 kvm unit_byte
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 0 &kvm->srcu

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

Type Parameter Key Value
DATA_SOURCE 1 root r root_to_sp
UNITS 0 kvm unit_byte

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

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
DATA_SOURCE 1 root r tdp_mmu_get_root_for_fault
PREEMPT_ADD
UNITS 0 kvm unit_byte
LOCK2 rcu_read
HALF_LOCKED2 &file->f_mapping->invalidate_lock
HALF_LOCKED2 &vcpu->kvm->mmu_lock
HALF_LOCKED2 _T->lock

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

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
DATA_SOURCE 0 kvm $0
DATA_SOURCE 1 root $1
STR_LEN 0 kvm->arch.vm_type (-1)
STR_LEN 0 kvm->stats_id (-1),47
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.nx_huge_page_recovery_thread->task->dl.dl_runtime
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 rcu_read
LOCK2 0 &kvm->mmu_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 0 &kvm->lock
HALF_LOCKED2 0 &kvm->slots_lock
TYPE_LOCK (struct kvm)->mmu_lock

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

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
DATA_SOURCE 0 kvm $0
DATA_SOURCE 1 root r spte_to_child_sp
STR_LEN 0 kvm->arch.vm_type (-1)
STR_LEN 0 kvm->stats_id (-1)
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.nx_huge_page_recovery_thread->task->dl.dl_runtime
NO_OVERFLOW_SIMPLE 0 kvm->nr_memslot_pages
NO_OVERFLOW_SIMPLE 0 kvm->srcu.sda
UNITS 0 kvm unit_byte
LOCK2 rcu_read
LOCK2 0 &kvm->mmu_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 0 &kvm->lock
HALF_LOCKED2 0 &kvm->slots_lock
TYPE_LOCK (struct kvm)->mmu_lock

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

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
BUF_SIZE 0 kvm s32min-(-1),1-s32max
BUF_SIZE 0 kvm s32min-(-1),1-s32max
DATA_SOURCE 0 kvm $0
DATA_SOURCE 1 root $1
STR_LEN 0 kvm->arch.vm_type (-1)
STR_LEN 0 kvm->stats_id (-1),47
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.nx_huge_page_recovery_thread->task->dl.dl_runtime
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_desc_cache.kmem_cache->object_size
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 rcu_read
LOCK2 0 &kvm->mmu_lock
HALF_LOCKED2 0 &kvm->lock
HALF_LOCKED2 0 &kvm->slots_lock
TYPE_LOCK (struct kvm)->mmu_lock

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

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
BUF_SIZE 0 kvm s32min-(-1),1-s32max
BUF_SIZE 0 kvm s32min-(-1),1-s32max
DATA_SOURCE 0 kvm $0
DATA_SOURCE 1 root $1
STR_LEN 0 kvm->arch.vm_type (-1)
STR_LEN 0 kvm->stats_id (-1),47
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.split_desc_cache.kmem_cache->object_size
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->debugfs_dentry->d_fsdata->d_fsdata
NO_OVERFLOW_SIMPLE 0 kvm->nr_memslot_pages
UNITS 0 kvm unit_byte
LOCK2 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 write_protect_gfn() -> kvm_gfn_root_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
DATA_SOURCE 1 root $1
STR_LEN 0 kvm->arch.vm_type (-1)
STR_LEN 0 kvm->stats_id (-1),47
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.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.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->irq_srcu.sda
NO_OVERFLOW_SIMPLE 0 kvm->irq_srcu.srcu_sup
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
LOCK2 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 wrprot_gfn_range() -> kvm_gfn_root_bits()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
DATA_SOURCE 0 kvm $0
DATA_SOURCE 1 root $1
STR_LEN 0 kvm->arch.vm_type (-1)
STR_LEN 0 kvm->stats_id (-1),47
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.nx_huge_page_recovery_thread->task->dl.dl_runtime
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_desc_cache.kmem_cache->object_size
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 rcu_read
LOCK2 0 &kvm->mmu_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 0 &kvm->lock
HALF_LOCKED2 0 &kvm->slots_lock
TYPE_LOCK (struct kvm)->mmu_lock