Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
arch/x86/kvm/mmu/mmu.c kvm_mmu_slot_remove_write_access() -> 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->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_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_invalidate_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | kvm->mn_memslots_update_rcuwait.task | 0 |
| PARAM_VALUE | 0 | kvm->slots_arch_lock->first_waiter->task->blocked_lock.owner | (-4611686018427387904)-4611686018427387903 |
| PARAM_VALUE | 0 | kvm->slots_arch_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | kvm->slots_arch_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | kvm->slots_arch_lock.first_waiter->list.prev->prev | 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->slots_arch_lock.wait_lock.dep_map->name | 0-255 |
| 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->srcu_gp_seq_needed | 0,4-u64max |
| PARAM_VALUE | 1 | slot | 0,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 | 3 |
| PARAM_VALUE | 5 | flush_on_yield | 0 |
| BUF_SIZE | 0 | kvm | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | kvm | s32min-(-1),1-s32max |
| CAPPED_DATA | 1 | slot->base_gfn | 1 |
| DATA_SOURCE | 0 | kvm | $0 |
| DATA_SOURCE | 1 | slot | $1 |
| DATA_SOURCE | 3 | start_level | $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 | |
| HARD_MAX | 3 | start_level | 2 |
| 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 | 1-32763[c] |
| USER_DATA | 1 | slot->npages | 0-4503599627370495[c] |
| 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->nr_memslot_pages | |
| NO_OVERFLOW_SIMPLE | 1 | slot->npages | |
| UNITS | 0 | kvm | unit_byte |
| 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 |
arch/x86/kvm/mmu/mmu.c kvm_rmap_zap_collapsible_sptes() -> 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->task->blocked_lock.owner | (-4611686018427387904)-4611686018427387903 |
| PARAM_VALUE | 0 | kvm->slots_arch_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | kvm->slots_arch_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | kvm->slots_arch_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | kvm->slots_arch_lock.first_waiter->list.prev->prev | 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->slots_arch_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | kvm->slots_arch_lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | kvm->slots_arch_lock.wait_lock.owner_cpu | u32max |
| 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.func | 0 |
| PARAM_VALUE | 0 | kvm->srcu.srcu_sup->irq_work.node.a_flags.counter | 0-s32max |
| PARAM_VALUE | 0 | kvm->srcu.srcu_sup->irq_work.node.dst | 0 |
| PARAM_VALUE | 0 | kvm->srcu.srcu_sup->irq_work.node.src | 0 |
| PARAM_VALUE | 0 | kvm->srcu.srcu_sup->srcu_gp_seq_needed | 0,4-u64max |
| PARAM_VALUE | 1 | slot | 0,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 |
| PARAM_VALUE | 4 | end_level | 2 |
| PARAM_VALUE | 5 | flush_on_yield | 1 |
| CAPPED_DATA | 1 | slot->base_gfn | 1 |
| DATA_SOURCE | 0 | kvm | $0 |
| DATA_SOURCE | 1 | slot | $1 |
| 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 | |
| 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] |
| 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 |
| 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 |
arch/x86/kvm/mmu/mmu.c walk_slot_rmaps_4k() -> walk_slot_rmaps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | kvm | 4096-ptr_max |
| PARAM_VALUE | 0 | kvm->arch.cpu_dirty_log_size | s32min-(-1),1-s32max |
| 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->task->blocked_lock.owner | (-4611686018427387904)-4611686018427387903 |
| PARAM_VALUE | 0 | kvm->slots_arch_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | kvm->slots_arch_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | kvm->slots_arch_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | kvm->slots_arch_lock.first_waiter->list.prev->prev | 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->slots_arch_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | kvm->slots_arch_lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | kvm->slots_arch_lock.wait_lock.owner_cpu | u32max |
| 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.func | 0 |
| PARAM_VALUE | 0 | kvm->srcu.srcu_sup->irq_work.node.a_flags.counter | 0-s32max |
| PARAM_VALUE | 0 | kvm->srcu.srcu_sup->irq_work.node.dst | 0 |
| PARAM_VALUE | 0 | kvm->srcu.srcu_sup->irq_work.node.src | 0 |
| PARAM_VALUE | 0 | kvm->srcu.srcu_sup->srcu_gp_seq_needed | 0,4-u64max |
| PARAM_VALUE | 1 | slot | 0,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 |
| PARAM_VALUE | 4 | end_level | 1 |
| PARAM_VALUE | 5 | flush_on_yield | 0 |
| CAPPED_DATA | 1 | slot->as_id | 1 |
| CAPPED_DATA | 1 | slot->base_gfn | 1 |
| DATA_SOURCE | 0 | kvm | $0 |
| DATA_SOURCE | 1 | slot | $1 |
| DATA_SOURCE | 2 | fn | $2 |
| DATA_SOURCE | 5 | flush_on_yield | $3 |
| 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 | |
| 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] |
| 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 |
| 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 |