Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

arch/x86/kvm/../../../virt/kvm/guest_memfd.c __kvm_gmem_populate() -> kvm_range_has_memory_attributes()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 3 mask 8
PARAM_VALUE 4 attrs 8
CAPPED_DATA 1 start 1
CAPPED_DATA 1 start 1
CAPPED_DATA 2 end 1
DATA_SOURCE 0 kvm $0
DATA_SOURCE 1 start $3
UNITS 0 kvm unit_byte
UNITS 1 start unit_page
UNITS 2 end unit_page
LOCK2 &file->f_mapping->invalidate_lock
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 &kvm->slots_lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct address_space)->invalidate_lock

arch/x86/kvm/mmu/mmu.c hugepage_has_attrs() -> kvm_range_has_memory_attributes()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 0 kvm->arch.has_private_mem 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->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 3 mask u64max
BUF_SIZE 0 kvm s32min-(-1),1-s32max
BUF_SIZE 0 kvm s32min-(-1),1-s32max
CAPPED_DATA 1 start 1
CAPPED_DATA 1 start 1
DATA_SOURCE 0 kvm $0
DATA_SOURCE 1 start $2
DATA_SOURCE 4 attrs $4
STR_LEN 0 kvm->arch.vm_type (-1)
STR_LEN 0 kvm->stats_id (-1),47
PARAM_COMPARE 1 start <= $2
PARAM_COMPARE 2 end >= $1
PARAM_COMPARE 2 end >= $1
NOSPEC 0 kvm->arch.n_max_mmu_pages
RX_PATH
TASK_NOT_RUNNING
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 0 kvm->mmu_invalidate_range_start 0-9007199254740990[c]
USER_DATA 1 start 0-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->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 1 start unit_page
UNITS 2 end unit_page
HALF_LOCKED2 0 &kvm->lock
HALF_LOCKED2 0 &kvm->mmu_lock
HALF_LOCKED2 0 &kvm->slots_arch_lock
HALF_LOCKED2 0 &kvm->slots_lock
HALF_LOCKED2 0 &kvm->srcu

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_vm_set_mem_attributes() -> kvm_range_has_memory_attributes()

Type Parameter Key Value
PARAM_VALUE 0 kvm 4096-ptr_max
PARAM_VALUE 0 kvm->slots_lock.dep_map->name 0-255
PARAM_VALUE 0 kvm->slots_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 kvm->slots_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 kvm->slots_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 kvm->slots_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 kvm->slots_lock.wait_lock.owner (-1)
PARAM_VALUE 0 kvm->slots_lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 kvm->vm_dead 0
PARAM_VALUE 1 start 0-4503599627370495
PARAM_VALUE 2 end 0-4503599627370495
PARAM_VALUE 3 mask u64max
BUF_SIZE 0 kvm s32min-(-2),1-s32max
BUF_SIZE 0 kvm s32min-(-2),1-s32max
CAPPED_DATA 0 kvm->mm 1
CAPPED_DATA 0 &kvm->slots_lock 1
DATA_SOURCE 0 kvm $0
DATA_SOURCE 1 start $1
DATA_SOURCE 2 end $2
DATA_SOURCE 4 attrs $3
USER_DATA 1 start 0-524287[c]
USER_DATA 4 attrs 0-u64max
UNITS 1 start unit_page
UNITS 2 end unit_page
LOCK2 0 &kvm->slots_lock
TYPE_LOCK (struct kvm)->slots_lock