Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

arch/x86/kvm/mmu/mmu.c mmu_first_shadow_root_alloc() -> kvm_page_track_write_tracking_enabled()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 0 kvm->arch.shadow_root_allocated 0
CAPPED_DATA 0 &kvm->slots_arch_lock 1
DATA_SOURCE 0 kvm $0
UNITS 0 kvm unit_byte
LOCK2 0 &kvm->slots_arch_lock
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 0 &kvm->srcu
TYPE_LOCK (struct kvm)->slots_arch_lock

arch/x86/kvm/mmu/page_track.c __kvm_write_track_add_gfn() -> kvm_page_track_write_tracking_enabled()

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.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
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_desc_cache.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->mm->context.ldt->entries
NO_OVERFLOW_SIMPLE 0 kvm->nr_memslot_pages
NO_OVERFLOW_SIMPLE 0 kvm->stats_id
UNITS 0 kvm unit_byte
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/page_track.c __kvm_write_track_remove_gfn() -> kvm_page_track_write_tracking_enabled()

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),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.vm_type 0-31
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.hv_pa_pg
NO_OVERFLOW_SIMPLE 0 kvm->arch.nx_huge_page_recovery_thread
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_desc_cache.objects
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_page_header_cache.objects
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->arch.split_shadow_page_cache.objects
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->debugfs_stat_data
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->stats_id
UNITS 0 kvm unit_byte
HALF_LOCKED2 0 &kvm->arch.apic_map_lock
HALF_LOCKED2 0 &kvm->arch.apicv_update_lock
HALF_LOCKED2 0 &kvm->arch.track_notifier_head.track_srcu
HALF_LOCKED2 0 &kvm->lock
HALF_LOCKED2 0 &kvm->mmu_lock
HALF_LOCKED2 0 &kvm->slots_arch_lock
HALF_LOCKED2 0 &kvm->slots_lock
HALF_LOCKED2 0 &kvm->srcu

arch/x86/kvm/mmu/page_track.c kvm_enable_external_write_tracking() -> kvm_page_track_write_tracking_enabled()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 0 kvm->arch.external_write_tracking_enabled 0
CAPPED_DATA 0 kvm->mm 1
CAPPED_DATA 0 &kvm->slots_arch_lock 1
DATA_SOURCE 0 kvm $0
LOCK2 &device->dev_set->lock
LOCK2 0 &kvm->slots_arch_lock
HALF_LOCKED2 &device->group->group_lock
TYPE_LOCK (struct kvm)->slots_arch_lock
TYPE_LOCK (struct vfio_device_set)->lock

arch/x86/kvm/mmu/page_track.c kvm_gfn_is_write_tracked() -> kvm_page_track_write_tracking_enabled()

Type Parameter Key Value
DATA_SOURCE 0 kvm $0
RX_PATH
TASK_NOT_RUNNING
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->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
UNITS 0 kvm unit_byte
HALF_LOCKED2 &file->f_mapping->invalidate_lock
HALF_LOCKED2 0 &kvm->mmu_lock
HALF_LOCKED2 0 &kvm->srcu

arch/x86/kvm/mmu/page_track.c kvm_page_track_create_memslot() -> kvm_page_track_write_tracking_enabled()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 0 kvm->arch.shadow_root_allocated 0
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
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