Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
arch/x86/kvm/mmu/mmu.c __kvm_rmap_zap_gfn_range() -> __walk_slot_rmaps()
| 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->arch.pmu_event_filter->action | 0-4294967295 |
| PARAM_VALUE | 0 | kvm->arch.pmu_event_filter->flags | 0-4294967295 |
| PARAM_VALUE | 0 | kvm->arch.pmu_event_filter->nevents | 0-4294967295 |
| PARAM_VALUE | 0 | kvm->arch.pmu_event_filter->nr_excludes | 0-4294967295 |
| PARAM_VALUE | 0 | kvm->arch.pmu_event_filter->nr_includes | 0-4294967295 |
| 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->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,4096-ptr_max |
| PARAM_VALUE | 0 | kvm->mmu_notifier.ops->test_young | 0,2029453645569474560 |
| PARAM_VALUE | 0 | *kvm->arch.vioapic->irq_eoi | 0-4294967295 |
| PARAM_VALUE | 1 | slot | 4096-ptr_max |
| PARAM_VALUE | 3 | start_level | 1 |
| PARAM_VALUE | 4 | end_level | 3 |
| PARAM_VALUE | 8 | flush_on_yield | 1 |
| BUF_SIZE | 0 | kvm | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | kvm | s32min-(-1),1-s32max |
| DATA_SOURCE | 0 | kvm | $0 |
| DATA_SOURCE | 1 | slot | $1 |
| DATA_SOURCE | 5 | start_gfn | $2 |
| DATA_SOURCE | 7 | can_yield | $4 |
| DATA_SOURCE | 9 | flush | $5 |
| STR_LEN | 0 | kvm->arch.vm_type | (-1) |
| STR_LEN | 0 | kvm->stats_id | (-1),47 |
| PREEMPT_ADD | |||
| 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 | 5 | start_gfn | 1-524287[c] |
| 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->object_size | |
| 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->object_size | |
| 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 | 1 | slot | unit_byte |
| UNITS | 5 | start_gfn | unit_page |
| UNITS | 6 | end_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/mmu.c kvm_shadow_mmu_try_split_huge_pages() -> __walk_slot_rmaps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | kvm | 4096-ptr_max |
| 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->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,4096-ptr_max |
| PARAM_VALUE | 0 | kvm->mmu_notifier.ops->test_young | 0,2029453645569474560 |
| PARAM_VALUE | 1 | slot | 4096-ptr_max |
| PARAM_VALUE | 1 | slot->id | 0-32766 |
| PARAM_VALUE | 3 | start_level | 2-3 |
| PARAM_VALUE | 4 | end_level | 2-3 |
| PARAM_VALUE | 7 | can_yield | 1 |
| PARAM_VALUE | 8 | flush_on_yield | 1 |
| PARAM_VALUE | 9 | flush | 0 |
| BUF_SIZE | 0 | kvm | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | kvm | s32min-(-1),1-s32max |
| CAPPED_DATA | 1 | slot->id | 1 |
| DATA_SOURCE | 0 | kvm | $0 |
| DATA_SOURCE | 1 | slot | $1 |
| DATA_SOURCE | 5 | start_gfn | $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 | 1 | slot->base_gfn | |
| NOSPEC | 1 | slot->id | |
| NOSPEC | 1 | slot->npages | |
| NOSPEC | 5 | start_gfn | |
| NOSPEC | 5 | start_gfn | |
| HARD_MAX | 3 | start_level | 3 |
| HARD_MAX | 4 | end_level | 3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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 | 1 | slot->base_gfn | 0-524287[c] |
| USER_DATA | 1 | slot->flags | 0-u32max |
| USER_DATA | 1 | slot->gmem.pgoff | 0-524287[c] |
| USER_DATA | 1 | slot->id | 0-32763[c] |
| USER_DATA | 1 | slot->npages | 0-4503599627370495[c] |
| USER_DATA | 5 | start_gfn | 0-524287[c] |
| USER_DATA | 6 | end_gfn | 0-4503599627894781,u64max |
| 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->d_fsdata | |
| NO_OVERFLOW_SIMPLE | 0 | kvm->nr_memslot_pages | |
| NO_OVERFLOW_SIMPLE | 1 | slot->npages | |
| UNITS | 0 | kvm | unit_byte |
| UNITS | 5 | start_gfn | unit_page |
| UNITS | 6 | end_gfn | unit_page |
| LOCK2 | 0 | &kvm->mmu_lock | |
| HALF_LOCKED2 | 0 | &kvm->lock | |
| HALF_LOCKED2 | 0 | &kvm->slots_lock | |
| TYPE_LOCK | (struct kvm)->mmu_lock |
arch/x86/kvm/mmu/mmu.c walk_slot_rmaps() -> __walk_slot_rmaps()
| 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->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_lock.owner_cpu | 0 |
| PARAM_VALUE | 0 | kvm->mmu_lock.raw_lock.cnts.counter | 0-s32max |
| 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,4096-ptr_max |
| 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 | s32min-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 | 1 | slot | 4096-ptr_max |
| PARAM_VALUE | 1 | slot->as_id | 0-1 |
| PARAM_VALUE | 1 | slot->base_gfn | 0-4503599627370495 |
| PARAM_VALUE | 1 | slot->id | 0-32766 |
| PARAM_VALUE | 1 | slot->npages | 0-4503599627370495 |
| PARAM_VALUE | 3 | start_level | 1-2 |
| PARAM_VALUE | 4 | end_level | 1-3 |
| PARAM_VALUE | 5 | start_gfn | 0-4503599627370495 |
| PARAM_VALUE | 6 | end_gfn | 0-9007199254740989,u64max |
| PARAM_VALUE | 7 | can_yield | 1 |
| PARAM_VALUE | 9 | flush | 0 |
| CAPPED_DATA | 1 | slot->as_id | 1 |
| CAPPED_DATA | 1 | slot->base_gfn | 1 |
| CAPPED_DATA | 5 | start_gfn | 1 |
| CAPPED_DATA | 5 | start_gfn | 1 |
| DATA_SOURCE | 0 | kvm | $0 |
| DATA_SOURCE | 1 | slot | $1 |
| DATA_SOURCE | 2 | fn | $2 |
| DATA_SOURCE | 3 | start_level | $3 |
| DATA_SOURCE | 4 | end_level | $4 |
| DATA_SOURCE | 8 | flush_on_yield | $5 |
| 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 | 1 | slot->base_gfn | |
| NOSPEC | 1 | slot->id | |
| NOSPEC | 1 | slot->npages | |
| NOSPEC | 5 | start_gfn | |
| NOSPEC | 5 | start_gfn | |
| HARD_MAX | 3 | start_level | 2 |
| HARD_MAX | 4 | end_level | 3 |
| 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 | 1 | slot->base_gfn | 0-524287[c] |
| USER_DATA | 1 | slot->flags | 0-u32max |
| USER_DATA | 1 | slot->gmem.pgoff | 0-524287[c] |
| USER_DATA | 1 | slot->id | 1-32763[c] |
| USER_DATA | 1 | slot->npages | 0-4503599627370495[c] |
| USER_DATA | 5 | start_gfn | 0-524287[c] |
| USER_DATA | 6 | end_gfn | 0-4503599627894781,u64max |
| 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->debugfs_dentry->d_fsdata->d_fsdata | |
| NO_OVERFLOW_SIMPLE | 0 | kvm->nr_memslot_pages | |
| UNITS | 0 | kvm | unit_byte |
| UNITS | 5 | start_gfn | unit_page |
| UNITS | 6 | end_gfn | unit_page |
| 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 |