Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/shmem.c shmem_get_folio_gfp() -> shmem_alloc_and_add_folio()

Type Parameter Key Value
PARAM_VALUE 0 vmf 0,4096-ptr_max
PARAM_VALUE 0 vmf->gfp_mask 0,64-u32max
PARAM_VALUE 0 vmf->vma 4096-ptr_max
PARAM_VALUE 0 vmf->vma->vm_file 4096-ptr_max
PARAM_VALUE 0 vmf->vma->vm_file->f_inode->i_mapping 4096-ptr_max
PARAM_VALUE 0 vmf->vma->vm_mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vmf->vma->vm_mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 vmf->vma->vm_mm->vma_writer_wait.task->sched_class->uclamp_enabled 0-1
PARAM_VALUE 1 gfp 0-2097151
PARAM_VALUE 2 inode 4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->bmap 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->direct_IO 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->dirty_folio 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->error_remove_folio 0,373303432983703552,3650281484867371008,6933238642996355072,7934844886813757440
PARAM_VALUE 2 inode->i_data.a_ops->free_folio 0,87018317492477952,1576041750683152384,3223952723663937536,4787850423793061888
PARAM_VALUE 2 inode->i_data.a_ops->invalidate_folio 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->is_dirty_writeback 0,7518438349615988736,8867638692533350400
PARAM_VALUE 2 inode->i_data.a_ops->launder_folio 0,122107076755599360,327075084911996928,858079631894568960,7268098942548045824
PARAM_VALUE 2 inode->i_data.a_ops->migrate_folio 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->read_folio 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->readahead 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->release_folio 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->swap_activate 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->swap_deactivate 0,1546359495696728064,3888069641387622400,7359158453655175168,8604917376913055744
PARAM_VALUE 2 inode->i_data.a_ops->swap_rw 0,4986685196838862848,8487923053812363264
PARAM_VALUE 2 inode->i_data.a_ops->write_begin 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->write_end 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->writepages 0,4096-ptr_max
PARAM_VALUE 2 inode->i_mapping 4096-ptr_max
PARAM_VALUE 2 inode->i_mapping->a_ops 4096-ptr_max
PARAM_VALUE 2 inode->i_mapping->host->i_sb->s_cop->empty_dir 0,86,661756434209751040,4392966320616476672,5234023279986843648,8614756098313990144
PARAM_VALUE 2 inode->i_mapping->host->i_sb->s_cop->get_context 0,706,17350455714160640,4513809449498124288,5149251875611672576,7067778626864828416
PARAM_VALUE 2 inode->i_mapping->host->i_sb->s_cop->set_context 0,67,317457138841939968,3250154607523569664,5979066299606671360,6756104566897242112
PARAM_VALUE 2 inode->i_mapping->host->i_sb->s_export_op->encode_fh 0,2,4096-ptr_max
PARAM_VALUE 2 inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 inode->i_op->atomic_open 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->create 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->fiemap 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->fileattr_get 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->fileattr_set 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->get_acl 0,434817594022129664,1176132492164517888,2308293591809245184,2352177825799393280,5894181231315005440,7161457072544161792,8358186677320523776
PARAM_VALUE 2 inode->i_op->get_inode_acl 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->get_link 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->get_offset_ctx 0,2606890545167454208
PARAM_VALUE 2 inode->i_op->getattr 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->link 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->listxattr 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->lookup 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->mkdir 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->mknod 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->permission 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->readlink 0,1728600404483375104,2832489546165891072,2874824064778891264,3069732422725099520,4516337085607264256
PARAM_VALUE 2 inode->i_op->rename 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->rmdir 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->set_acl 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->setattr 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->symlink 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->sync_lazytime 0,6951464784224747520
PARAM_VALUE 2 inode->i_op->tmpfile 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->unlink 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->update_time 0,4096-ptr_max
PARAM_VALUE 2 inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648,2704,2712
PARAM_VALUE 2 inode->i_sb->s_export_op->encode_fh 0,2,4096-ptr_max
PARAM_VALUE 2 inode->i_sb->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 2 inode->i_sb->s_umount.first_waiter->type 0-1
PARAM_VALUE 3 index 0-2251799813685247
PARAM_VALUE 5 orders 254,512
BUF_SIZE 0 vmf->cow_page (-1),64
BUF_SIZE 2 inode (-1),1-s32max
BUF_SIZE 2 inode (-1),1-s32max
BUF_SIZE 2 inode->i_mapping->a_ops (-1),152
BUF_SIZE 2 inode->i_private (-1),40
CAPPED_DATA 2 inode->i_mapping 1
CAPPED_DATA 3 index 1
CAPPED_DATA 3 index 1
DATA_SOURCE 0 vmf $6
DATA_SOURCE 1 gfp r thp_shmem_limit_gfp_mask
DATA_SOURCE 2 inode $0
DATA_SOURCE 3 index $1
DATA_SOURCE 5 orders r shmem_allowable_huge_orders
FUZZY_MAX 3 index 2251799813685247
NOSPEC 0 vmf->address
NOSPEC 0 vmf->pgoff
NOSPEC 2 inode->i_size
NOSPEC 3 index
NOSPEC 3 index
HARD_MAX 3 index 2251799813685247
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 3 index 0-2251799813685247[c]
USER_DATA 0 vmf->address 0-u64max[c]
USER_DATA 0 vmf->pgoff 0-4503599627370495
USER_DATA 0 vmf->pte 4096-ptr_max[u]
USER_DATA 0 vmf->real_address 0-u64max[c]
USER_DATA 2 inode->i_blocks 0-36028797024823343,18428729675200069633-u64max
USER_DATA 2 inode->i_bytes 0-65023[c]
USER_DATA 2 inode->i_mode 0-u16max
USER_DATA 2 inode->i_sb->s_flags 0-u64max[c]
USER_DATA 2 inode->i_size (-9223372036854775807)-(-4),0-s64max
USER_DATA 3 index 0-2251799813685247[c]
NO_OVERFLOW_SIMPLE 0 vmf->vma->vm_end
NO_OVERFLOW_SIMPLE 0 vmf->vma->vm_pgoff
NO_OVERFLOW_SIMPLE 0 vmf->vma->vm_start
NO_OVERFLOW_SIMPLE 2 inode->i_blkbits
NO_OVERFLOW_SIMPLE 2 inode->i_mapping->host->i_size
NO_OVERFLOW_SIMPLE 2 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 2 inode->i_sb->s_blocksize_bits
UNITS 3 index unit_page
UNITS 4 fault_mm unit_byte
HALF_LOCKED2 2 &inode->i_rwsem

mm/shmem.c shmem_get_folio_gfp() -> shmem_alloc_and_add_folio()

Type Parameter Key Value
PARAM_VALUE 0 vmf 0,4096-ptr_max
PARAM_VALUE 0 vmf->gfp_mask 0,64-u32max
PARAM_VALUE 0 vmf->vma 4096-ptr_max
PARAM_VALUE 0 vmf->vma->vm_file 4096-ptr_max
PARAM_VALUE 0 vmf->vma->vm_file->f_inode->i_mapping 4096-ptr_max
PARAM_VALUE 0 vmf->vma->vm_mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vmf->vma->vm_mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 vmf->vma->vm_mm->vma_writer_wait.task->sched_class->uclamp_enabled 0-1
PARAM_VALUE 2 inode 4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->bmap 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->direct_IO 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->dirty_folio 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->error_remove_folio 0,373303432983703552,3650281484867371008,6933238642996355072,7934844886813757440
PARAM_VALUE 2 inode->i_data.a_ops->free_folio 0,87018317492477952,1576041750683152384,3223952723663937536,4787850423793061888
PARAM_VALUE 2 inode->i_data.a_ops->invalidate_folio 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->is_dirty_writeback 0,7518438349615988736,8867638692533350400
PARAM_VALUE 2 inode->i_data.a_ops->launder_folio 0,122107076755599360,327075084911996928,858079631894568960,7268098942548045824
PARAM_VALUE 2 inode->i_data.a_ops->migrate_folio 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->read_folio 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->readahead 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->release_folio 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->swap_activate 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->swap_deactivate 0,1546359495696728064,3888069641387622400,7359158453655175168,8604917376913055744
PARAM_VALUE 2 inode->i_data.a_ops->swap_rw 0,4986685196838862848,8487923053812363264
PARAM_VALUE 2 inode->i_data.a_ops->write_begin 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->write_end 0,4096-ptr_max
PARAM_VALUE 2 inode->i_data.a_ops->writepages 0,4096-ptr_max
PARAM_VALUE 2 inode->i_mapping 4096-ptr_max
PARAM_VALUE 2 inode->i_mapping->a_ops 4096-ptr_max
PARAM_VALUE 2 inode->i_mapping->host->i_sb->s_cop->empty_dir 0,86,661756434209751040,4392966320616476672,5234023279986843648,8614756098313990144
PARAM_VALUE 2 inode->i_mapping->host->i_sb->s_cop->get_context 0,706,17350455714160640,4513809449498124288,5149251875611672576,7067778626864828416
PARAM_VALUE 2 inode->i_mapping->host->i_sb->s_cop->set_context 0,67,317457138841939968,3250154607523569664,5979066299606671360,6756104566897242112
PARAM_VALUE 2 inode->i_mapping->host->i_sb->s_export_op->encode_fh 0,2,4096-ptr_max
PARAM_VALUE 2 inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 inode->i_op->atomic_open 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->create 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->fiemap 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->fileattr_get 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->fileattr_set 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->get_acl 0,434817594022129664,1176132492164517888,2308293591809245184,2352177825799393280,5894181231315005440,7161457072544161792,8358186677320523776
PARAM_VALUE 2 inode->i_op->get_inode_acl 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->get_link 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->get_offset_ctx 0,2606890545167454208
PARAM_VALUE 2 inode->i_op->getattr 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->link 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->listxattr 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->lookup 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->mkdir 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->mknod 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->permission 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->readlink 0,1728600404483375104,2832489546165891072,2874824064778891264,3069732422725099520,4516337085607264256
PARAM_VALUE 2 inode->i_op->rename 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->rmdir 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->set_acl 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->setattr 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->symlink 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->sync_lazytime 0,6951464784224747520
PARAM_VALUE 2 inode->i_op->tmpfile 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->unlink 0,4096-ptr_max
PARAM_VALUE 2 inode->i_op->update_time 0,4096-ptr_max
PARAM_VALUE 2 inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648,2704,2712
PARAM_VALUE 2 inode->i_sb->s_export_op->encode_fh 0,2,4096-ptr_max
PARAM_VALUE 2 inode->i_sb->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 2 inode->i_sb->s_umount.first_waiter->type 0-1
PARAM_VALUE 3 index 0-2251799813685247
PARAM_VALUE 5 orders 0
BUF_SIZE 0 vmf->cow_page (-1),64
BUF_SIZE 2 inode (-1),1-s32max
BUF_SIZE 2 inode (-1),1-s32max
BUF_SIZE 2 inode->i_mapping->a_ops (-1),152
BUF_SIZE 2 inode->i_private (-1),40
CAPPED_DATA 2 inode->i_mapping 1
CAPPED_DATA 3 index 1
CAPPED_DATA 3 index 1
DATA_SOURCE 0 vmf $6
DATA_SOURCE 1 gfp $5
DATA_SOURCE 2 inode $0
DATA_SOURCE 3 index $1
FUZZY_MAX 3 index 2251799813685247
NOSPEC 0 vmf->address
NOSPEC 0 vmf->pgoff
NOSPEC 2 inode->i_size
NOSPEC 3 index
NOSPEC 3 index
HARD_MAX 3 index 2251799813685247
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 3 index 0-2251799813685247[c]
USER_DATA 0 vmf->address 0-u64max[c]
USER_DATA 0 vmf->pgoff 0-4503599627370495
USER_DATA 0 vmf->pte 4096-ptr_max[u]
USER_DATA 0 vmf->real_address 0-u64max[c]
USER_DATA 2 inode->i_blocks 0-36028797024823343,18428729675200069633-u64max
USER_DATA 2 inode->i_bytes 0-65023[c]
USER_DATA 2 inode->i_mode 0-u16max
USER_DATA 2 inode->i_sb->s_flags 0-u64max[c]
USER_DATA 2 inode->i_size (-9223372036854775807)-(-4),0-s64max
USER_DATA 3 index 0-2251799813685247[c]
NO_OVERFLOW_SIMPLE 0 vmf->vma->vm_end
NO_OVERFLOW_SIMPLE 0 vmf->vma->vm_pgoff
NO_OVERFLOW_SIMPLE 0 vmf->vma->vm_start
NO_OVERFLOW_SIMPLE 2 inode->i_blkbits
NO_OVERFLOW_SIMPLE 2 inode->i_mapping->host->i_size
NO_OVERFLOW_SIMPLE 2 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 2 inode->i_sb->s_blocksize_bits
UNITS 3 index unit_page
UNITS 4 fault_mm unit_byte
HALF_LOCKED2 2 &inode->i_rwsem