Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 7 files as a function:
- arch/arm64/kvm/arm.c, line 845 (as a function)
- arch/loongarch/kvm/vcpu.c, line 376 (as a function)
- arch/mips/kvm/mips.c, line 113 (as a function)
- arch/powerpc/kvm/powerpc.c, line 50 (as a function)
- arch/riscv/kvm/vcpu.c, line 233 (as a function)
- arch/s390/kvm/kvm-s390.c, line 3883 (as a function)
- arch/x86/kvm/x86.c, line 8556 (as a function)
Referenced in 8 files:
- arch/arm64/kvm/arm.c, line 1105
- arch/loongarch/kvm/exit.c, line 269
- arch/mips/kvm/emulate.c, line 961
- arch/powerpc/kvm/powerpc.c, line 57
- arch/riscv/kvm/vcpu_insn.c, line 70
- arch/s390/kvm/interrupt.c, line 1268
- arch/x86/kvm/x86.c
- virt/kvm/kvm_main.c
Smatch caller information:
arch/x86/kvm/x86.c vcpu_block() -> kvm_arch_vcpu_runnable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 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->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.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 |
| DATA_SOURCE | 0 | vcpu | $0 |
| 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->kvm->srcu | |
| LOCK2 | 0 | &vcpu->mutex | |
| TYPE_LOCK | (struct kvm)->srcu | ||
| TYPE_LOCK | (struct kvm_vcpu)->mutex |
arch/x86/kvm/x86.c vcpu_block() -> kvm_arch_vcpu_runnable()
| 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 | 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.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->stat.generic.blocking | 0 |
| 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_ctrp | 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 |
| 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->kvm->srcu | |
| LOCK2 | 0 | &vcpu->mutex | |
| TYPE_LOCK | (struct kvm)->srcu | ||
| TYPE_LOCK | (struct kvm_vcpu)->mutex |
arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_arch_dy_runnable() -> kvm_arch_vcpu_runnable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 0-1025,1027-1029,1031-u64max |
| DATA_SOURCE | 0 | vcpu | $0 |
arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_vcpu_check_block() -> kvm_arch_vcpu_runnable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| 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 | 1 |
| CAPPED_DATA | 0 | vcpu->kvm | 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 |
| NOSPEC | 0 | vcpu->arch.mmio_gfn | |
| 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.mmio_gfn | 0-4503599627370495[c] |
| USER_DATA | 0 | vcpu->arch.mmio_gva | 0,4096-u64max[c] |
| USER_DATA | 0 | vcpu->arch.nmi_queued.counter | 0 |
| USER_DATA | 0 | vcpu->arch.tsc_offset | 0-u64max |
| USER_DATA | 0 | vcpu->run->memory_fault.gpa | 0,4096-18446744073709547520[c] |
| NO_OVERFLOW_SIMPLE | 0 | vcpu->arch.mmu_page_header_cache.kmem_cache->sheaf_capacity | |
| NO_OVERFLOW_SIMPLE | 0 | vcpu->arch.mmu_shadow_page_cache.kmem_cache->sheaf_capacity | |
| 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 | |
| LOCK2 | 0 | &vcpu->kvm->srcu | |
| HALF_LOCKED2 | 0 | &vcpu->mutex | |
| TYPE_LOCK | (struct kvm)->srcu |