Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

arch/x86/kvm/regs.c kvm_vcpu_ioctl_x86_set_debugregs() -> kvm_update_dr0123()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 4096-ptr_max
PARAM_VALUE 0 vcpu->arch.db 4096-ptr_max
BUF_SIZE 0 vcpu s32min-(-2),1-s32max
BUF_SIZE 0 vcpu s32min-(-2),1-s32max
CAPPED_DATA 0 vcpu 1
DATA_SOURCE 0 vcpu $0
NOCHECK_CALL
LOCK2 &vcpu->mutex
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/x86.c kvm_vcpu_reset() -> kvm_update_dr0123()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 4096-ptr_max
BUF_SIZE 0 vcpu s32min-(-1),1-s32max
BUF_SIZE 0 vcpu s32min-(-1),1-s32max
BUF_SIZE 0 vcpu->arch.mce_banks (-1),8
BUF_SIZE 0 vcpu->arch.mci_ctl2_banks (-1),8
CAPPED_DATA 0 vcpu 1
DATA_SOURCE 0 vcpu $0
NOSPEC 0 vcpu->arch.mmio_gfn
NOSPEC 0 vcpu->vcpu_id
MEM_ZERO 0 vcpu->arch.db
NOCHECK_CALL
HOST_DATA 0 vcpu->arch.host_debugctl 0-u64max[c]
USER_DATA 0 vcpu->arch.apic->lapic_timer.expired_tscdeadline 0-u64max
USER_DATA 0 vcpu->arch.apic->sipi_vector 1-255[c]
USER_DATA 0 vcpu->arch.cr8 0-14
USER_DATA 0 vcpu->arch.exception.payload 0-u64max
USER_DATA 0 vcpu->arch.l1_tsc_offset 0-u64max
USER_DATA 0 vcpu->arch.mmio_gfn 0-4503599627370495[c]
USER_DATA 0 vcpu->arch.pv_time.kvm->arch.has_private_mem 0[c]
USER_DATA 0 vcpu->arch.pv_time.kvm->arch.pre_fault_allowed 0-1
USER_DATA 0 vcpu->arch.pv_time.kvm->arch.vm_type 0-6
USER_DATA 0 vcpu->arch.tsc_offset 0-u64max
USER_DATA 0 vcpu->arch.virtual_tsc_khz 1-u32max
USER_DATA 0 vcpu->arch.xen.runstate2_cache.gpa 0-18446744073709551614[c]
USER_DATA 0 vcpu->arch.xen.runstate2_cache.kvm->arch.has_private_mem 0[c]
USER_DATA 0 vcpu->arch.xen.runstate2_cache.kvm->arch.pre_fault_allowed 0-1
USER_DATA 0 vcpu->arch.xen.runstate2_cache.kvm->arch.vm_type 0-5
USER_DATA 0 vcpu->arch.xen.runstate2_cache.pfn 0-4503599627370494[c]
USER_DATA 0 vcpu->arch.xen.runstate2_cache.uhva 0-u64max[c]
USER_DATA 0 vcpu->arch.xen.runstate_cache.gpa 0-18446744073709551614[c]
USER_DATA 0 vcpu->arch.xen.runstate_cache.kvm->arch.has_private_mem 0[c]
USER_DATA 0 vcpu->arch.xen.runstate_cache.kvm->arch.pre_fault_allowed 0-1
USER_DATA 0 vcpu->arch.xen.runstate_cache.kvm->arch.vm_type 0-5
USER_DATA 0 vcpu->arch.xen.runstate_cache.pfn 0-4503599627370494[c]
USER_DATA 0 vcpu->arch.xen.runstate_cache.uhva 0-u64max[c]
USER_DATA 0 vcpu->arch.xen.vcpu_info_cache.kvm->arch.has_private_mem 0[c]
USER_DATA 0 vcpu->arch.xen.vcpu_info_cache.kvm->arch.pre_fault_allowed 0-1
USER_DATA 0 vcpu->arch.xen.vcpu_info_cache.kvm->arch.vm_type 0-5
USER_DATA 0 vcpu->arch.xen.vcpu_time_info_cache.kvm->arch.has_private_mem 0[c]
USER_DATA 0 vcpu->arch.xen.vcpu_time_info_cache.kvm->arch.pre_fault_allowed 0-1
USER_DATA 0 vcpu->arch.xen.vcpu_time_info_cache.kvm->arch.vm_type 0-5
USER_DATA 0 vcpu->run->memory_fault.gpa 0,4096-18446744073709547520[c]
USER_DATA 0 vcpu->vcpu_id 1-16383[c]
USER_DATA 0 *vcpu->arch.emulate_ctxt->fetch.end 0-255
USER_DATA 0 *vcpu->arch.sev_pio_data s64min-s64max
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_external_spt_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_external_spt_cache.kmem_cache->object_size
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_external_spt_cache.kmem_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_external_spt_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_page_header_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_page_header_cache.kmem_cache->object_size
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_page_header_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_pte_list_desc_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_pte_list_desc_cache.kmem_cache->object_size
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_pte_list_desc_cache.kmem_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_pte_list_desc_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadow_page_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadow_page_cache.kmem_cache->object_size
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadow_page_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadowed_info_cache.capacity
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadowed_info_cache.kmem_cache->object_size
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadowed_info_cache.nobjs
NO_OVERFLOW_SIMPLE 0 vcpu->arch.pio.count
NO_OVERFLOW_SIMPLE 0 vcpu->arch.pio.size
NO_OVERFLOW_SIMPLE 0 vcpu->run->io.count
NO_OVERFLOW_SIMPLE 0 vcpu->run->io.size
USER_PTR 0 vcpu->arch.emulate_ctxt->fetch.end
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.intercept_message
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved2
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved3
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved4
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.virtualization_fault_information
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.vtl_ret_actions
USER_PTR 0 vcpu->arch.pdptrs
HALF_LOCKED2 0 &vcpu->kvm->srcu
HALF_LOCKED2 0 &vcpu->mutex

arch/x86/kvm/x86.c vcpu_enter_guest() -> kvm_update_dr0123()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 4096-ptr_max
BUF_SIZE 0 vcpu s32min-(-2),1-s32max
BUF_SIZE 0 vcpu s32min-(-2),1-s32max
CAPPED_DATA 0 vcpu 1
CAPPED_DATA 0 vcpu->arch.host_debugctl 1
CAPPED_DATA 0 vcpu->kvm->online_vcpus.counter 1
CAPPED_DATA 0 vcpu->kvm->srcu.srcu_ctrp 1
CAPPED_DATA 0 vcpu->kvm->srcu.srcu_reader_flavor 1
DATA_SOURCE 0 vcpu $0
BIT_INFO 0 vcpu->arch.switch_db_regs 0x2,0xffffffff
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
HOST_DATA 0 vcpu->arch.host_debugctl 0-u64max[c]
USER_DATA 0 vcpu->arch.apic->lapic_timer.expired_tscdeadline 0-u64max
USER_DATA 0 vcpu->arch.apic->lapic_timer.tscdeadline 0-u64max
USER_DATA 0 vcpu->arch.apic->sipi_vector 1-255[c]
USER_DATA 0 vcpu->arch.cr8 0-14
USER_DATA 0 vcpu->arch.exception.payload 0
USER_DATA 0 vcpu->arch.mmu->root.pgd 0-u64max
USER_DATA 0 *vcpu->arch.emulate_ctxt->fetch.end 0-255
USER_DATA 0 *vcpu->arch.sev_pio_data s64min-s64max
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_external_spt_cache.kmem_cache->object_size
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_page_header_cache.kmem_cache->object_size
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_pte_list_desc_cache.kmem_cache->object_size
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadow_page_cache.kmem_cache->object_size
NO_OVERFLOW_SIMPLE 0 vcpu->arch.mmu_shadowed_info_cache.kmem_cache->object_size
NO_OVERFLOW_SIMPLE 0 vcpu->arch.pio.count
NO_OVERFLOW_SIMPLE 0 vcpu->arch.pio.size
USER_PTR 0 vcpu->arch.emulate_ctxt->fetch.end
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.intercept_message
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved2
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved3
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved4
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.virtualization_fault_information
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.vtl_ret_actions
USER_PTR 0 vcpu->arch.pdptrs
LOCK2 irq
LOCK2 0 &vcpu->mutex
TYPE_LOCK (struct kvm_vcpu)->mutex