Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

arch/x86/kvm/mmu/mmu.c ept_sync_spte() -> mmu_spte_update()

Type Parameter Key Value
PARAM_VALUE 0 sptep 4096-ptr_max
PARAM_VALUE 0 *sptep 0-9223372036854775807,9223372036854775809-u64max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 new_spte 0-u64max[c]
HALF_LOCKED2 &vcpu->kvm->mmu_lock
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex

arch/x86/kvm/mmu/mmu.c mmu_set_spte() -> mmu_spte_update()

Type Parameter Key Value
PARAM_VALUE 0 sptep 4096-ptr_max
CAPPED_DATA 0 sptep 1
DATA_SOURCE 0 sptep $2
PARAM_COMPARE 0 *sptep != $1
USER_DATA 1 new_spte 0-u64max[c]
LOCK2 &vcpu->kvm->mmu_lock
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex
TYPE_LOCK (struct kvm)->mmu_lock

arch/x86/kvm/mmu/mmu.c paging32_sync_spte() -> mmu_spte_update()

Type Parameter Key Value
PARAM_VALUE 0 sptep 4096-ptr_max
PARAM_VALUE 0 *sptep 0-9223372036854775807,9223372036854775809-u64max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 new_spte 0-u64max[c]
HALF_LOCKED2 &vcpu->kvm->mmu_lock
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex

arch/x86/kvm/mmu/mmu.c paging64_sync_spte() -> mmu_spte_update()

Type Parameter Key Value
PARAM_VALUE 0 sptep 4096-ptr_max
PARAM_VALUE 0 *sptep 0-9223372036854775807,9223372036854775809-u64max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 new_spte 0-u64max[c]
HALF_LOCKED2 &vcpu->kvm->mmu_lock
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex

arch/x86/kvm/mmu/mmu.c spte_clear_dirty() -> mmu_spte_update()

Type Parameter Key Value
PARAM_VALUE 0 sptep 4096-ptr_max
DATA_SOURCE 0 sptep $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &kvm->mmu_lock
HALF_LOCKED2 &kvm->slots_lock

arch/x86/kvm/mmu/mmu.c spte_write_protect() -> mmu_spte_update()

Type Parameter Key Value
PARAM_VALUE 0 sptep 4096-ptr_max
DATA_SOURCE 0 sptep $0
BIT_INFO 1 new_spte 0x0,0xfffffffffffffffd
BIT_INFO 1 new_spte 0x0,0xfffffffffffffffd
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &kvm->mmu_lock