Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 9 files:

Smatch caller information:

arch/x86/kvm/svm/sev.c sev_es_unmap_ghcb() -> kvm_write_guest()

Type Parameter Key Value
BUF_SIZE 2 data s32min,1-65536
NOCHECK_CALL
UNITS 0 kvm unit_byte
UNITS 3 len unit_byte

arch/x86/kvm/svm/sev.c snp_handle_guest_req() -> kvm_write_guest()

Type Parameter Key Value
PARAM_VALUE 2 data 0,18379471554275704832,18446612682070032384
PARAM_VALUE 3 len 4096
CAPPED_DATA 2 data 1
DATA_SOURCE 1 gpa $2
UNITS 0 kvm unit_byte
UNITS 1 gpa unit_byte
UNITS 3 len unit_byte
LOCK2 _T->lock
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex

arch/x86/kvm/hyperv.c kvm_hv_setup_tsc_page() -> kvm_write_guest()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 0 kvm->arch.apicv_update_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 kvm->arch.apicv_update_lock.first_waiter->type 0-1
PARAM_VALUE 0 kvm->arch.irqchip_mode 0,2-u32max
PARAM_VALUE 0 kvm->online_vcpus.counter (-2147483647)-s32max
PARAM_VALUE 0 kvm->srcu.srcu_ctrp 4096-ptr_max
PARAM_VALUE 1 gpa 0,4096-18446744073709547520
PARAM_VALUE 2 data 4096-ptr_max
PARAM_VALUE 3 len 4
BUF_SIZE 2 data 24
CAPPED_DATA 0 kvm 1
CAPPED_DATA 0 kvm->mm 1
CAPPED_DATA 0 kvm->srcu.srcu_ctrp 1
DATA_SOURCE 0 kvm $0
UNITS 0 kvm unit_byte
UNITS 3 len unit_byte
LOCK2 &v->mutex
LOCK2 _T->lock
LOCK2 0 &kvm->srcu
TYPE_LOCK (struct kvm)->srcu
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/hyperv.c kvm_hv_setup_tsc_page() -> kvm_write_guest()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 0 kvm->arch.apicv_update_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 kvm->arch.apicv_update_lock.first_waiter->type 0-1
PARAM_VALUE 0 kvm->arch.irqchip_mode 0,2-u32max
PARAM_VALUE 0 kvm->online_vcpus.counter (-2147483647)-s32max
PARAM_VALUE 0 kvm->srcu.srcu_ctrp 4096-ptr_max
PARAM_VALUE 1 gpa 0,4096-18446744073709547520
PARAM_VALUE 2 data 4096-ptr_max
PARAM_VALUE 3 len 24
BUF_SIZE 2 data 24
CAPPED_DATA 0 kvm 1
CAPPED_DATA 0 kvm->mm 1
CAPPED_DATA 0 kvm->srcu.srcu_ctrp 1
DATA_SOURCE 0 kvm $0
UNITS 0 kvm unit_byte
UNITS 3 len unit_byte
LOCK2 &v->mutex
LOCK2 _T->lock
LOCK2 0 &kvm->srcu
TYPE_LOCK (struct kvm)->srcu
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/hyperv.c kvm_hv_setup_tsc_page() -> kvm_write_guest()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 0 kvm->arch.apicv_update_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 kvm->arch.apicv_update_lock.first_waiter->type 0-1
PARAM_VALUE 0 kvm->arch.irqchip_mode 0,2-u32max
PARAM_VALUE 0 kvm->online_vcpus.counter (-2147483647)-s32max
PARAM_VALUE 0 kvm->srcu.srcu_ctrp 4096-ptr_max
PARAM_VALUE 1 gpa 0,4096-18446744073709547520
PARAM_VALUE 2 data 4096-ptr_max
PARAM_VALUE 3 len 4
BUF_SIZE 2 data 24
CAPPED_DATA 0 kvm 1
CAPPED_DATA 0 kvm->mm 1
CAPPED_DATA 0 kvm->srcu.srcu_ctrp 1
DATA_SOURCE 0 kvm $0
UNITS 0 kvm unit_byte
UNITS 3 len unit_byte
LOCK2 &v->mutex
LOCK2 _T->lock
LOCK2 0 &kvm->srcu
TYPE_LOCK (struct kvm)->srcu
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/x86.c kvm_pv_clock_pairing() -> kvm_write_guest()

Type Parameter Key Value
PARAM_VALUE 2 data 1043754336315695104
PARAM_VALUE 3 len 64
BUF_SIZE 2 data 64
DATA_SOURCE 1 gpa $1
UNITS 0 kvm unit_byte
UNITS 3 len unit_byte

arch/x86/kvm/msrs.c kvm_write_wall_clock() -> kvm_write_guest()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 0 kvm->arch.xen.hvm_config.msr 1-u32max
PARAM_VALUE 1 gpa 1-u64max
PARAM_VALUE 2 data 1210236553815924736
PARAM_VALUE 2 *data s32min-s32max
PARAM_VALUE 3 len 4
BUF_SIZE 2 data 4
CAPPED_DATA 0 kvm->arch.xen.hvm_config.msr 1
DATA_SOURCE 0 kvm $0
DATA_SOURCE 1 gpa $1
UNITS 0 kvm unit_byte
UNITS 1 gpa unit_byte
UNITS 3 len unit_byte

arch/x86/kvm/msrs.c kvm_write_wall_clock() -> kvm_write_guest()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 0 kvm->arch.xen.hvm_config.msr 1-u32max
PARAM_VALUE 1 gpa 1-u64max
PARAM_VALUE 2 data 3880022156956454912
PARAM_VALUE 3 len 12
BUF_SIZE 2 data 12
CAPPED_DATA 0 kvm->arch.xen.hvm_config.msr 1
DATA_SOURCE 0 kvm $0
DATA_SOURCE 1 gpa $1
NOCHECK_CALL
UNITS 0 kvm unit_byte
UNITS 1 gpa unit_byte
UNITS 3 len unit_byte

arch/x86/kvm/msrs.c kvm_write_wall_clock() -> kvm_write_guest()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 0 kvm->arch.xen.hvm_config.msr 1-u32max
PARAM_VALUE 2 data 811347693886304256
PARAM_VALUE 3 len 4
BUF_SIZE 2 data 4
CAPPED_DATA 0 kvm->arch.xen.hvm_config.msr 1
DATA_SOURCE 0 kvm $0
NOCHECK_CALL
UNITS 0 kvm unit_byte
UNITS 1 gpa unit_byte
UNITS 3 len unit_byte

arch/x86/kvm/msrs.c kvm_write_wall_clock() -> kvm_write_guest()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 0 kvm->arch.xen.hvm_config.msr 1-u32max
PARAM_VALUE 1 gpa 1-u64max
PARAM_VALUE 2 data 1210236553815924736
PARAM_VALUE 2 *data s32min-s32max
PARAM_VALUE 3 len 4
BUF_SIZE 2 data 4
CAPPED_DATA 0 kvm->arch.xen.hvm_config.msr 1
DATA_SOURCE 0 kvm $0
DATA_SOURCE 1 gpa $1
NOCHECK_CALL
UNITS 0 kvm unit_byte
UNITS 1 gpa unit_byte
UNITS 3 len unit_byte

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_write_guest_offset_cached() -> kvm_write_guest()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 0 kvm->arch.apicv_update_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 kvm->arch.apicv_update_lock.first_waiter->type 0-1
PARAM_VALUE 3 len 1,4,4096
BUF_SIZE 2 data (-1),4
BUF_SIZE 2 data (-1),4
DATA_SOURCE 0 kvm $0
DATA_SOURCE 2 data $2
DATA_SOURCE 3 len $4
HARD_MAX 3 len 4096
PREEMPT_ADD
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_desc_cache.kmem_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_page_header_cache.kmem_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_shadow_page_cache.kmem_cache->sheaf_capacity
UNITS 0 kvm unit_byte
UNITS 1 gpa unit_byte
UNITS 3 len unit_byte
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 0 &kvm->srcu