Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

arch/x86/kvm/vmx/nested.c nested_flush_cached_shadow_vmcs12() -> kvm_write_guest_cached()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 0 kvm->arch.apic_map->xapic_flat_map->lapic_timer.timer_advance_ns 0-4294967295
PARAM_VALUE 0 kvm->arch.apic_map->xapic_flat_map->lapic_timer.timer_mode 0-4294967295
PARAM_VALUE 0 kvm->arch.apic_map->xapic_flat_map->lapic_timer.timer_mode_mask 0-4294967295
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 1 ghc 4096-ptr_max
PARAM_VALUE 3 len 4096
BUF_SIZE 1 ghc 40
NOCHECK_CALL
USER_DATA 1 ghc->hva 1-18446612682070036478[c][u]
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
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 0 &kvm->srcu

arch/x86/kvm/lapic.c kvm_lapic_sync_to_vapic() -> kvm_write_guest_cached()

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->arch.kvmclock_update_rs.lock.dep_map->name 0-255
PARAM_VALUE 0 kvm->arch.kvmclock_update_rs.lock.owner (-1)
PARAM_VALUE 0 kvm->arch.kvmclock_update_rs.lock.owner_cpu u32max
PARAM_VALUE 0 kvm->srcu.srcu_ctrp 4096-ptr_max
PARAM_VALUE 1 ghc 4096-ptr_max
PARAM_VALUE 2 data 6282891356266266624
PARAM_VALUE 3 len 4
BUF_SIZE 2 data 4
CAPPED_DATA 0 kvm 1
CAPPED_DATA 0 kvm->mm 1
CAPPED_DATA 0 kvm->srcu.srcu_ctrp 1
NOCHECK_CALL
UNITS 0 kvm unit_byte
UNITS 3 len unit_byte
LOCK2 &vcpu->mutex
LOCK2 0 &kvm->srcu
TYPE_LOCK (struct kvm)->srcu
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/lapic.c pv_eoi_put_user() -> kvm_write_guest_cached()

Type Parameter Key Value
PARAM_VALUE 0 kvm->arch.apic_map->xapic_flat_map->lapic_timer.timer_advance_ns 0-4294967295
PARAM_VALUE 0 kvm->arch.apic_map->xapic_flat_map->lapic_timer.timer_mode_mask 0-4294967295
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 1 ghc 4096-ptr_max
PARAM_VALUE 2 *data 0-1
PARAM_VALUE 3 len 1
UNITS 0 kvm unit_byte
UNITS 3 len unit_byte
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 0 &kvm->srcu
TYPE_LOCK (struct kvm)->srcu
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/x86.c apf_put_user_notpresent() -> kvm_write_guest_cached()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 0 kvm->arch.apic_map->xapic_flat_map->lapic_timer.timer_advance_ns 0-4294967295
PARAM_VALUE 0 kvm->arch.apic_map->xapic_flat_map->lapic_timer.timer_mode 0,131072-393216
PARAM_VALUE 0 kvm->arch.apic_map->xapic_flat_map->lapic_timer.timer_mode_mask 0-4294967295
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->irq_routing->nr_rt_entries 0-4096
PARAM_VALUE 1 ghc 4096-ptr_max
PARAM_VALUE 2 data 706831812676812800
PARAM_VALUE 2 *data 1
PARAM_VALUE 3 len 4
BUF_SIZE 2 data 4
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 3 len unit_byte
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 0 &kvm->srcu