Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

arch/x86/kvm/mmu/mmu.c kvm_mmu_alloc_shadow_page() -> kvm_mmu_memory_cache_alloc()

Type Parameter Key Value
PARAM_VALUE 0 mc 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &kvm->arch.apic_map_lock
HALF_LOCKED2 &kvm->arch.apicv_update_lock
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 &kvm->mmu_lock
HALF_LOCKED2 &kvm->slots_lock
HALF_LOCKED2 &kvm->srcu
HALF_LOCKED2 &vcpu->kvm->mmu_lock

arch/x86/kvm/mmu/mmu.c kvm_mmu_alloc_shadow_page() -> kvm_mmu_memory_cache_alloc()

Type Parameter Key Value
PARAM_VALUE 0 mc 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &kvm->arch.apic_map_lock
HALF_LOCKED2 &kvm->arch.apicv_update_lock
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 &kvm->mmu_lock
HALF_LOCKED2 &kvm->slots_lock
HALF_LOCKED2 &kvm->srcu
HALF_LOCKED2 &vcpu->kvm->mmu_lock

arch/x86/kvm/mmu/mmu.c kvm_mmu_alloc_shadow_page() -> kvm_mmu_memory_cache_alloc()

Type Parameter Key Value
PARAM_VALUE 0 mc 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &kvm->arch.apic_map_lock
HALF_LOCKED2 &kvm->arch.apicv_update_lock
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 &kvm->mmu_lock
HALF_LOCKED2 &kvm->slots_lock
HALF_LOCKED2 &kvm->srcu
HALF_LOCKED2 &vcpu->kvm->mmu_lock

arch/x86/kvm/mmu/mmu.c pte_list_add() -> kvm_mmu_memory_cache_alloc()

Type Parameter Key Value
PARAM_VALUE 0 mc 4096-ptr_max
BUF_SIZE 0 mc (-1),40
BUF_SIZE 0 mc (-1),40
DATA_SOURCE 0 mc $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 mc->capacity
NO_OVERFLOW_SIMPLE 0 mc->kmem_cache->object_size
NO_OVERFLOW_SIMPLE 0 mc->nobjs
HALF_LOCKED2 &kvm->arch.apic_map_lock
HALF_LOCKED2 &kvm->arch.apicv_update_lock
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 &kvm->mmu_lock
HALF_LOCKED2 &kvm->slots_lock
HALF_LOCKED2 &kvm->srcu

arch/x86/kvm/mmu/mmu.c pte_list_add() -> kvm_mmu_memory_cache_alloc()

Type Parameter Key Value
PARAM_VALUE 0 mc 4096-ptr_max
BUF_SIZE 0 mc (-1),40
BUF_SIZE 0 mc (-1),40
DATA_SOURCE 0 mc $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 mc->capacity
NO_OVERFLOW_SIMPLE 0 mc->kmem_cache->object_size
NO_OVERFLOW_SIMPLE 0 mc->nobjs
HALF_LOCKED2 &kvm->arch.apic_map_lock
HALF_LOCKED2 &kvm->arch.apicv_update_lock
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 &kvm->mmu_lock
HALF_LOCKED2 &kvm->slots_lock
HALF_LOCKED2 &kvm->srcu

arch/x86/kvm/mmu/tdp_mmu.c kvm_mmu_alloc_external_spt() -> kvm_mmu_memory_cache_alloc()

Type Parameter Key Value
PARAM_VALUE 0 mc 4096-ptr_max
NO_OVERFLOW_SIMPLE 0 mc->capacity
NO_OVERFLOW_SIMPLE 0 mc->nobjs
LOCK2 rcu_read
HALF_LOCKED2 &file->f_mapping->invalidate_lock
HALF_LOCKED2 &vcpu->kvm->mmu_lock
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 _T->lock

arch/x86/kvm/mmu/tdp_mmu.c tdp_mmu_alloc_sp() -> kvm_mmu_memory_cache_alloc()

Type Parameter Key Value
PARAM_VALUE 0 mc 4096-ptr_max
PARAM_VALUE 0 mc->capacity 40,553
PARAM_VALUE 0 mc->objects 1-u64max
PREEMPT_ADD
NO_OVERFLOW_SIMPLE 0 mc->capacity
NO_OVERFLOW_SIMPLE 0 mc->nobjs
HALF_LOCKED2 &kvm->arch.tdp_mmu_pages_lock
HALF_LOCKED2 &kvm->mmu_lock
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 rcu_read

arch/x86/kvm/mmu/tdp_mmu.c tdp_mmu_alloc_sp() -> kvm_mmu_memory_cache_alloc()

Type Parameter Key Value
PARAM_VALUE 0 mc 4096-ptr_max
PARAM_VALUE 0 mc->capacity 40,553
PARAM_VALUE 0 mc->objects 1-u64max
PREEMPT_ADD
NO_OVERFLOW_SIMPLE 0 mc->capacity
NO_OVERFLOW_SIMPLE 0 mc->nobjs
HALF_LOCKED2 &kvm->arch.tdp_mmu_pages_lock
HALF_LOCKED2 &kvm->mmu_lock
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 rcu_read