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 |