Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 9 files:
- arch/arm64/include/asm/kvm_mmu.h, line 291
- arch/powerpc/kvm/book3s_rtas.c, line 273
- arch/powerpc/kvm/powerpc.c, line 409
- arch/s390/kvm/gaccess.h
- arch/x86/kvm/hyperv.c
- arch/x86/kvm/msrs.c
- arch/x86/kvm/svm/sev.c
- arch/x86/kvm/x86.c, line 7221
- virt/kvm/kvm_main.c
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 |