Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

arch/x86/kvm/mmu/mmu.c kvm_mmu_hugepage_adjust() -> kvm_mmu_max_mapping_level()

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 fault 5851615026643595264,7368748645416689664
PARAM_VALUE 1 fault->gfn 0-13510798882111483
PARAM_VALUE 1 fault->max_level 2-15
PARAM_VALUE 1 fault->pfn 0-4503599627370494
PARAM_VALUE 1 fault->req_level 0-3
PARAM_VALUE 1 fault->slot 4096-ptr_max
PARAM_VALUE 2 slot 4096-ptr_max
PARAM_VALUE 3 gfn 0-13510798882111483
CAPPED_DATA 1 fault->gfn 1
CAPPED_DATA 1 fault->slot 1
CAPPED_DATA 2 slot 1
CAPPED_DATA 3 gfn 1
CAPPED_DATA 3 gfn 1
DATA_SOURCE 1 fault $1
NOSPEC 1 fault->gfn
NOSPEC 3 gfn
NOSPEC 3 gfn
USER_DATA 1 fault->addr 0-u64max[c]
USER_DATA 1 fault->gfn 0-13510798882111483[c]
USER_DATA 1 fault->pfn 0-4503599627370494[c]
USER_DATA 3 gfn 0-13510798882111483[c]
UNITS 0 kvm unit_byte
UNITS 3 gfn unit_page
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 0 &kvm->mmu_lock
HALF_LOCKED2 0 &kvm->srcu

arch/x86/kvm/mmu/mmu.c kvm_mmu_zap_collapsible_spte() -> kvm_mmu_max_mapping_level()

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 0 kvm->debugfs_dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 kvm->debugfs_dentry->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 kvm->debugfs_dentry->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 0 kvm->debugfs_dentry->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 kvm->debugfs_dentry->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 kvm->debugfs_dentry->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 kvm->debugfs_dentry->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 kvm->debugfs_dentry->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 kvm->debugfs_dentry->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 0 kvm->debugfs_dentry->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 0 kvm->debugfs_dentry->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 0 kvm->mmu_notifier.ops->alloc_notifier 0,118721215206682624,3867215761732038656
PARAM_VALUE 0 kvm->mmu_notifier.ops->clear_flush_young 0,629706690066796544
PARAM_VALUE 0 kvm->mmu_notifier.ops->clear_young 0,7189815847754645504
PARAM_VALUE 0 kvm->mmu_notifier.ops->free_notifier 0,1843444619081437184,3821528384776577024,4697798310811897856,6537355567237464064,8871816734645235712
PARAM_VALUE 0 kvm->mmu_notifier.ops->invalidate_range_end 0,3162513330612883456,6014292557378605056
PARAM_VALUE 0 kvm->mmu_notifier.ops->invalidate_range_start 0,1691968406954491904,7272215747350130688,7673596169661853696,8239870623333179392
PARAM_VALUE 0 kvm->mmu_notifier.ops->release 0,18038112991842304,370137738663178240,1669647988633919488,6148653532485574656,7790800904503803904
PARAM_VALUE 0 kvm->mmu_notifier.ops->test_young 0,2029453645569474560
PARAM_VALUE 1 fault 0
PARAM_VALUE 2 slot 4096-ptr_max
PARAM_VALUE 3 gfn 0-18446744073709551614
BUF_SIZE 0 kvm s32min-(-1),1-s32max
BUF_SIZE 0 kvm s32min-(-1),1-s32max
CAPPED_DATA 2 slot->base_gfn 1
CAPPED_DATA 3 gfn 1
CAPPED_DATA 3 gfn 1
DATA_SOURCE 0 kvm $0
DATA_SOURCE 2 slot $2
STR_LEN 0 kvm->arch.vm_type (-1)
STR_LEN 0 kvm->stats_id (-1),47
PARAM_COMPARE 2 slot->base_gfn <= $3
PARAM_COMPARE 3 gfn >= $2->base_gfn
NOSPEC 2 slot->base_gfn
NOSPEC 2 slot->id
NOSPEC 2 slot->npages
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 kvm->arch.has_private_mem 0[c]
USER_DATA 0 kvm->arch.n_max_mmu_pages 64-u64max[c]
USER_DATA 0 kvm->arch.nr_reserved_ioapic_pins 0-255
USER_DATA 0 kvm->arch.pre_fault_allowed 0-1
USER_DATA 0 kvm->arch.xen.shinfo_cache.kvm->arch.has_private_mem 0[c]
USER_DATA 0 kvm->arch.xen.shinfo_cache.kvm->arch.pre_fault_allowed 0-1
USER_DATA 0 kvm->arch.xen.shinfo_cache.kvm->arch.vm_type 0-31
USER_DATA 0 kvm->mmu_invalidate_range_start 0-9007199254740990[c]
USER_DATA 2 slot->base_gfn 0-524287[c]
USER_DATA 2 slot->flags 0-u32max
USER_DATA 2 slot->gmem.pgoff 0-524287[c]
USER_DATA 2 slot->id 0-32763[c]
USER_DATA 2 slot->npages 0-4503599627370495[c]
NO_OVERFLOW_SIMPLE 0 kvm->arch.nx_huge_page_recovery_thread->task->dl.dl_runtime
NO_OVERFLOW_SIMPLE 0 kvm->arch.split_desc_cache.kmem_cache->object_size
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
NO_OVERFLOW_SIMPLE 0 kvm->debugfs_dentry->d_fsdata
NO_OVERFLOW_SIMPLE 0 kvm->debugfs_dentry->d_fsdata->d_fsdata
NO_OVERFLOW_SIMPLE 0 kvm->nr_memslot_pages
NO_OVERFLOW_SIMPLE 0 kvm->srcu.sda
NO_OVERFLOW_SIMPLE 2 slot->npages
UNITS 0 kvm unit_byte
UNITS 2 slot unit_byte
UNITS 3 gfn unit_page
HALF_LOCKED2 0 &kvm->arch.apic_map_lock
HALF_LOCKED2 0 &kvm->arch.apicv_update_lock
HALF_LOCKED2 0 &kvm->lock
HALF_LOCKED2 0 &kvm->mmu_lock
HALF_LOCKED2 0 &kvm->slots_lock
HALF_LOCKED2 0 &kvm->srcu

arch/x86/kvm/mmu/tdp_mmu.c recover_huge_pages_range() -> kvm_mmu_max_mapping_level()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 0 kvm->arch.mmu_valid_gen 0-1
PARAM_VALUE 0 kvm->arch.shadow_root_allocated 0
PARAM_VALUE 0 kvm->arch.tdp_mmu_pages_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 kvm->debugfs_dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 kvm->debugfs_dentry->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 kvm->irq_routing->nr_rt_entries 0-4096
PARAM_VALUE 0 kvm->mmu_lock.dep_map->name 0-255
PARAM_VALUE 0 kvm->mmu_notifier.ops->alloc_notifier 0,118721215206682624,3867215761732038656
PARAM_VALUE 0 kvm->mmu_notifier.ops->clear_flush_young 0,629706690066796544
PARAM_VALUE 0 kvm->mmu_notifier.ops->clear_young 0,7189815847754645504
PARAM_VALUE 0 kvm->mmu_notifier.ops->free_notifier 0,1843444619081437184,3821528384776577024,4697798310811897856,6537355567237464064,8871816734645235712
PARAM_VALUE 0 kvm->mmu_notifier.ops->invalidate_range_end 0,3162513330612883456,6014292557378605056
PARAM_VALUE 0 kvm->mmu_notifier.ops->invalidate_range_start 0,1691968406954491904,7272215747350130688,7673596169661853696,8239870623333179392
PARAM_VALUE 0 kvm->mmu_notifier.ops->release 0,18038112991842304,370137738663178240,1669647988633919488,6148653532485574656,7790800904503803904
PARAM_VALUE 0 kvm->mmu_notifier.ops->test_young 0,2029453645569474560
PARAM_VALUE 0 kvm->mn_active_invalidate_count 0
PARAM_VALUE 0 kvm->mn_memslots_update_rcuwait.task 0
PARAM_VALUE 0 kvm->slots_arch_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 kvm->slots_arch_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 kvm->slots_arch_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 kvm->slots_arch_lock.first_waiter->task->blocked_lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 kvm->slots_arch_lock.first_waiter->task->blocked_on (-1)-0
PARAM_VALUE 0 kvm->slots_arch_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 kvm->srcu.srcu_ctrp 4096-ptr_max
PARAM_VALUE 0 kvm->srcu.srcu_sup 4096-ptr_max
PARAM_VALUE 0 kvm->srcu.srcu_sup->irq_work.node.a_flags.counter 0-s32max
PARAM_VALUE 0 kvm->srcu.srcu_sup->srcu_gp_seq_needed 0,4-u64max
PARAM_VALUE 0 kvm->srcu.srcu_sup->work.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 kvm->srcu.srcu_sup->work.work.entry.prev->prev 2076614606316732416
PARAM_VALUE 0 *kvm->slots_arch_lock.first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 fault 0
PARAM_VALUE 2 slot 4096-ptr_max
PARAM_VALUE 2 slot->as_id 0-1
PARAM_VALUE 2 slot->base_gfn 0-4503599627370495
PARAM_VALUE 2 slot->gmem.file 0,4096-ptr_max
PARAM_VALUE 2 slot->gmem.file->f_op 762507844987838464
PARAM_VALUE 2 slot->gmem.file->private_data 4096-ptr_max
PARAM_VALUE 2 slot->id 0-32766
PARAM_VALUE 2 slot->npages 0-4503599627370495
PARAM_VALUE 3 gfn 0-9007199254740989
CAPPED_DATA 2 slot->as_id 1
CAPPED_DATA 2 slot->base_gfn 1
CAPPED_DATA 3 gfn 1
CAPPED_DATA 3 gfn 1
DATA_SOURCE 0 kvm $0
DATA_SOURCE 2 slot $2
STR_LEN 0 kvm->arch.vm_type (-1)
STR_LEN 0 kvm->stats_id (-1),47
NOSPEC 0 kvm->arch.n_max_mmu_pages
NOSPEC 2 slot->base_gfn
NOSPEC 2 slot->id
NOSPEC 2 slot->npages
NOSPEC 3 gfn
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 kvm->arch.has_private_mem 0[c]
USER_DATA 0 kvm->arch.n_max_mmu_pages 64-u64max[c]
USER_DATA 0 kvm->arch.pre_fault_allowed 0-1
USER_DATA 0 kvm->arch.xen.shinfo_cache.kvm->arch.has_private_mem 0[c]
USER_DATA 0 kvm->arch.xen.shinfo_cache.kvm->arch.pre_fault_allowed 0-1
USER_DATA 0 kvm->arch.xen.shinfo_cache.kvm->arch.vm_type 0-31
USER_DATA 2 slot->base_gfn 0-524287[c]
USER_DATA 2 slot->flags 0-u32max
USER_DATA 2 slot->gmem.pgoff 0-524287[c]
USER_DATA 2 slot->id 1-32763[c]
USER_DATA 2 slot->npages 0-4503599627370495[c]
USER_DATA 3 gfn 0-9007199254740989[c]
NO_OVERFLOW_SIMPLE 0 kvm->arch.nx_huge_page_recovery_thread->task->dl.dl_runtime
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
NO_OVERFLOW_SIMPLE 0 kvm->nr_memslot_pages
UNITS 0 kvm unit_byte
UNITS 3 gfn unit_page
LOCK2 rcu_read
LOCK2 0 &kvm->mmu_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 0 &kvm->lock
HALF_LOCKED2 0 &kvm->slots_lock
TYPE_LOCK (struct kvm)->mmu_lock