Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 4 files:
Smatch caller information:
arch/x86/kvm/regs.c __set_sregs_common() -> kvm_set_cr8()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.apic->lapic_timer.timer.is_queued | 1 |
| PARAM_VALUE | 0 | vcpu->arch.apic->sipi_vector | 0-u16max |
| 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.guest_state_protected | 0 |
| PARAM_VALUE | 0 | vcpu->arch.regs_avail | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.regs_dirty | 4096-ptr_max |
| 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.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->preempt_notifier.link->pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->preempt_notifier.link.pprev | 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 | |||
| USER_DATA | 0 | vcpu->arch.apic_base | 0-u64max |
| USER_DATA | 0 | vcpu->arch.cr2 | 0-u64max |
| USER_DATA | 0 | vcpu->arch.cr3 | 0-u64max |
| USER_DATA | 0 | *vcpu->arch.pdptrs | 0-u64max |
| USER_DATA | 1 | cr8 | 0-u64max |
| UNITS | 1 | cr8 | unit_byte |
| USER_PTR | 0 | vcpu->arch.pdptrs | |
| HALF_LOCKED2 | &vcpu->mutex | ||
| HALF_LOCKED2 | 0 | &vcpu->mutex | |
| TYPE_LOCK | (struct kvm_vcpu)->mutex |
arch/x86/kvm/x86.c emulator_set_cr() -> kvm_set_cr8()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | cr8 | $2 |
arch/x86/kvm/x86.c kvm_arch_vcpu_ioctl_run() -> kvm_set_cr8()
| 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 |
| 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.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.guest_fpu.fpstate | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.guest_fpu.fpstate->in_use | 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.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->arch.noncoherent_dma_count.counter | 0-1 |
| 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.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->run->hypercall.ret | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 0 | vcpu->vcpu_idx | s32min-2147483646 |
| 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 | 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 |
| USER_DATA | 0 | *vcpu->arch.pdptrs | 0-u64max |
| UNITS | 1 | cr8 | unit_byte |
| 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/svm/svm.c cr_interception() -> kvm_set_cr8()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->ops->get_cr | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->run->hypercall.ret | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->dst.valptr | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->fetch.data | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->src.valptr | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->src2.valptr | 0-255 |
| BUF_SIZE | 0 | vcpu | (-1),7720 |
| BUF_SIZE | 0 | vcpu | (-1),7720 |
| CAPPED_DATA | 1 | cr8 | 1 |
| CAPPED_DATA | 1 | cr8 | 1 |
| DATA_SOURCE | 0 | vcpu | $0 |
| DATA_SOURCE | 1 | cr8 | r kvm_register_read |
| USER_DATA | 0 | *vcpu->arch.emulate_ctxt->fetch.end | 0-255 |
| USER_DATA | 1 | cr8 | 0-u64max |
| USER_PTR | 0 | vcpu->arch.emulate_ctxt->fetch.end |
arch/x86/kvm/svm/svm.c cr_trap() -> kvm_set_cr8()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->ops->get_cr | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->run->hypercall.ret | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->dst.valptr | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->fetch.data | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->src.valptr | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->src2.valptr | 0-255 |
| BUF_SIZE | 0 | vcpu | (-1),7720 |
| BUF_SIZE | 0 | vcpu | (-1),7720 |
| DATA_SOURCE | 0 | vcpu | $0 |
| USER_DATA | 0 | *vcpu->arch.emulate_ctxt->fetch.end | 0-255 |
| UNITS | 1 | cr8 | unit_byte |
| USER_PTR | 0 | vcpu->arch.emulate_ctxt->fetch.end |
arch/x86/kvm/svm/svm.c sync_cr8_to_lapic() -> kvm_set_cr8()
| 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_advance_ns | 0-5000 |
| PARAM_VALUE | 0 | vcpu->arch.hyperv | 0,4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.regs | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.regs_dirty | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.switch_db_regs | 2-u32max |
| PARAM_VALUE | 1 | cr8 | 0-15 |
| DATA_SOURCE | 0 | vcpu | $0 |
| NOCHECK_CALL |
arch/x86/kvm/vmx/vmx.c handle_cr() -> kvm_set_cr8()
| 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.nested_run_pending | 0 |
| PARAM_VALUE | 0 | vcpu->arch.regs_avail | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->kvm | 4096-ptr_max |
| CAPPED_DATA | 1 | cr8 | 1 |
| DATA_SOURCE | 0 | vcpu | $0 |
| USER_DATA | 1 | cr8 | 0-255 |
arch/x86/kvm/vmx/vmx.c vmx_vcpu_reset() -> kvm_set_cr8()
| 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.vm_type | 0-4,6-255 |
| PARAM_VALUE | 1 | cr8 | 0 |
| DATA_SOURCE | 0 | vcpu | $0 |
| NOCHECK_CALL |