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