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 |