Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 2 files:
Smatch caller information:
arch/x86/kvm/x86.c kvm_arch_vcpu_ioctl_run() -> kvm_vcpu_block()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->____srcu_idx | 0-1 |
| PARAM_VALUE | 0 | vcpu->arch.apic->lapic_timer.timer.is_queued | 1 |
| PARAM_VALUE | 0 | vcpu->arch.apic->lapic_timer.timer.node.expires | 0-s64max |
| PARAM_VALUE | 0 | vcpu->arch.apic->lapic_timer.timer.node.node.node.__rb_parent_color | 1 |
| PARAM_VALUE | 0 | vcpu->arch.apic->lapic_timer.timer_mode | 0,131072-393216 |
| PARAM_VALUE | 0 | vcpu->arch.guest_fpu.fpstate | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.guest_fpu.fpstate->in_use | 1 |
| PARAM_VALUE | 0 | vcpu->arch.mp_state | 1 |
| PARAM_VALUE | 0 | vcpu->arch.tsc_offset_adjustment | 0 |
| PARAM_VALUE | 0 | vcpu->cpu | 0 |
| PARAM_VALUE | 0 | vcpu->kvm | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->kvm->arch.kvmclock_update_rs.lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | vcpu->kvm->arch.noncoherent_dma_count.counter | 0-1 |
| PARAM_VALUE | 0 | vcpu->kvm->online_vcpus.counter | (-2147483647)-s32max |
| PARAM_VALUE | 0 | vcpu->kvm->srcu.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | vcpu->kvm->srcu.srcu_ctrp | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | vcpu->mutex.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | vcpu->mutex.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | vcpu->mutex.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | vcpu->mutex.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | vcpu->mutex.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | vcpu->preempt_notifier.link->pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->preempt_notifier.link.pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->run | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->run->flags | 0 |
| PARAM_VALUE | 0 | vcpu->vcpu_idx | s32min-2147483646 |
| PARAM_VALUE | 0 | vcpu->wants_to_run | 1 |
| 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->kvm->mm | 1 |
| CAPPED_DATA | 0 | vcpu->kvm->srcu.srcu_ctrp | 1 |
| CAPPED_DATA | 0 | vcpu->kvm->srcu.srcu_reader_flavor | 1 |
| CAPPED_DATA | 0 | vcpu->vcpu_idx | 1 |
| DATA_SOURCE | 0 | vcpu | $0 |
| NOCHECK_CALL | |||
| LOCK2 | 0 | &vcpu->mutex | |
| TYPE_LOCK | (struct kvm_vcpu)->mutex |
arch/x86/kvm/x86.c vcpu_block() -> kvm_vcpu_block()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.apic | 0,4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.apic->lapic_timer.timer.flags | 0-4294967295 |
| PARAM_VALUE | 0 | vcpu->arch.apic->lapic_timer.timer_mode_mask | 131072,393216 |
| PARAM_VALUE | 0 | vcpu->arch.apic->vcpu->arch.pv.pv_unhalted | 1 |
| PARAM_VALUE | 0 | vcpu->arch.apic->vcpu->kvm->arch.apicv_update_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | vcpu->arch.apic->vcpu->kvm->arch.apicv_update_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | vcpu->arch.apic->vcpu->ready | 1 |
| PARAM_VALUE | 0 | vcpu->arch.at_instruction_boundary | 0 |
| PARAM_VALUE | 0 | vcpu->arch.exception.pending | 0 |
| PARAM_VALUE | 0 | vcpu->arch.exception_vmexit.pending | 0 |
| PARAM_VALUE | 0 | vcpu->arch.hyperv | 0,4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.mp_state | s32min-2,4-s32max |
| PARAM_VALUE | 0 | vcpu->arch.pv.pv_unhalted | 0 |
| PARAM_VALUE | 0 | vcpu->kvm | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->kvm->arch.apicv_update_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | vcpu->kvm->arch.apicv_update_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | vcpu->kvm->arch.kvmclock_update_rs.lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | vcpu->kvm->online_vcpus.counter | (-2147483647)-s32max |
| PARAM_VALUE | 0 | vcpu->kvm->srcu.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | vcpu->kvm->srcu.srcu_ctrp | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | vcpu->mutex.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | vcpu->mutex.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | vcpu->mutex.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | vcpu->preempt_notifier.link->pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->run | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->run->debug.arch.exception | 1,3 |
| PARAM_VALUE | 0 | vcpu->run->emulation_failure.flags | 0-1 |
| PARAM_VALUE | 0 | vcpu->run->emulation_failure.insn_size | 1-255 |
| PARAM_VALUE | 0 | vcpu->run->emulation_failure.ndata | 6,8,10,12 |
| PARAM_VALUE | 0 | vcpu->run->emulation_failure.suberror | 1 |
| PARAM_VALUE | 0 | vcpu->run->exit_reason | 0 |
| PARAM_VALUE | 0 | vcpu->run->flags | 0 |
| PARAM_VALUE | 0 | vcpu->run->hypercall.ret | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 0 | vcpu->run->hyperv.type | 1-3 |
| PARAM_VALUE | 0 | vcpu->run->internal.ndata | 0,2,4-5 |
| PARAM_VALUE | 0 | vcpu->run->internal.suberror | 1-4 |
| PARAM_VALUE | 0 | vcpu->run->memory_fault.flags | 0,8 |
| PARAM_VALUE | 0 | vcpu->run->memory_fault.gpa | 0,4096-18446744073709547520 |
| PARAM_VALUE | 0 | vcpu->run->memory_fault.size | 4096 |
| PARAM_VALUE | 0 | vcpu->run->mmio.is_write | 0-1 |
| PARAM_VALUE | 0 | vcpu->run->mmio.len | 0-8 |
| PARAM_VALUE | 0 | *vcpu->arch.apic->vcpu->kvm->arch.vioapic->irq_eoi | 0-4294967295 |
| 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->async_pf.done.next | 1 |
| CAPPED_DATA | 0 | vcpu->kvm->srcu.srcu_reader_flavor | 1 |
| DATA_SOURCE | 0 | vcpu | $0 |
| PARAM_COMPARE | 0 | vcpu->async_pf.done.next | == $0->async_pf.done.prev |
| PARAM_COMPARE | 0 | &vcpu->async_pf.done | == $0->async_pf.done.next |
| 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.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 | 0 | &vcpu->mutex | |
| TYPE_LOCK | (struct kvm_vcpu)->mutex |
arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_vcpu_halt() -> kvm_vcpu_block()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.mp_state | 3 |
| PARAM_VALUE | 0 | vcpu->kvm | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->kvm->arch.apicv_update_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | vcpu->kvm->arch.apicv_update_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | vcpu->kvm->srcu.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | vcpu->kvm->srcu.srcu_ctrp | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->run->debug.arch.exception | 1,3 |
| PARAM_VALUE | 0 | vcpu->run->emulation_failure.flags | 0-1 |
| PARAM_VALUE | 0 | vcpu->run->emulation_failure.insn_size | 1-255 |
| PARAM_VALUE | 0 | vcpu->run->emulation_failure.ndata | 6,8,10,12 |
| PARAM_VALUE | 0 | vcpu->run->emulation_failure.suberror | 1 |
| PARAM_VALUE | 0 | vcpu->run->hypercall.ret | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 0 | vcpu->run->internal.ndata | 0,2,4-5 |
| PARAM_VALUE | 0 | vcpu->run->internal.suberror | 1-4 |
| PARAM_VALUE | 0 | vcpu->run->memory_fault.flags | 0,8 |
| PARAM_VALUE | 0 | vcpu->run->memory_fault.gpa | 0,4096-18446744073709547520 |
| PARAM_VALUE | 0 | vcpu->run->memory_fault.size | 4096 |
| PARAM_VALUE | 0 | vcpu->run->mmio.is_write | 0-1 |
| PARAM_VALUE | 0 | vcpu->run->mmio.len | 0-8 |
| PARAM_VALUE | 0 | vcpu->run->system_event.ndata | 0-1,16 |
| PARAM_VALUE | 0 | vcpu->run->system_event.type | 2-3,6-7 |
| BUF_SIZE | 0 | vcpu | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | vcpu | s32min-(-1),1-s32max |
| CAPPED_DATA | 0 | vcpu->halt_poll_ns | 1 |
| CAPPED_DATA | 0 | vcpu->kvm->srcu.srcu_ctrp | 1 |
| DATA_SOURCE | 0 | vcpu | $0 |
| HOST_DATA | 0 | vcpu->arch.host_debugctl | 0-u64max[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.tsc_offset | 0-u64max |
| USER_DATA | 0 | vcpu->arch.xen.runstate2_cache.gpa | 0-18446744073709551614[c] |
| 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.pfn | 0-4503599627370494[c] |
| USER_DATA | 0 | vcpu->arch.xen.runstate_cache.uhva | 0-u64max[c] |
| 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.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.pdptrs | |
| HALF_LOCKED2 | 0 | &vcpu->mutex |