Defined in 2 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/shmem.c shmem_allowable_huge_orders() -> shmem_huge_global_enabled()

Type Parameter Key Value
PARAM_VALUE 4 vma 0,4096-ptr_max
BUF_SIZE 0 inode (-1),1-s32max
BUF_SIZE 0 inode (-1),1-s32max
BUF_SIZE 0 inode->i_mapping->a_ops (-1),152
BUF_SIZE 0 inode->i_private (-1),40
BUF_SIZE 4 vma (-1),1-s32max
BUF_SIZE 4 vma (-1),1-s32max
DATA_SOURCE 0 inode $0
DATA_SOURCE 1 index $2
DATA_SOURCE 2 write_end $3
DATA_SOURCE 3 shmem_huge_force $4
DATA_SOURCE 4 vma $1
NOSPEC 0 inode->i_size
NOSPEC 1 index
NOSPEC 1 index
NOSPEC 4 vma->vm_pgoff
NOSPEC 4 vma->vm_start
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 index 0-2251799813685247[c]
USER_DATA 0 inode->i_bytes 0-65023[c]
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_sb->s_flags 0-2147553280[c]
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
USER_DATA 1 index 0-4503599627370495[c]
USER_DATA 4 vma->shared.rb_subtree_last 0-9007199254740989,u64max[u]
USER_DATA 4 vma->vm_pgoff 0-4503599627370495[c]
USER_DATA 4 vma->vm_start 0-s32max,18446744071562067968-18446744073709547520[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 1 index
NO_OVERFLOW_SIMPLE 4 vma->vm_end
NO_OVERFLOW_SIMPLE 4 vma->vm_file->f_mapping->host->i_size
NO_OVERFLOW_SIMPLE 4 vma->vm_pgoff
NO_OVERFLOW_SIMPLE 4 vma->vm_start
UNITS 1 index unit_page
UNITS 2 write_end unit_byte
HALF_LOCKED2 0 &inode->i_rwsem

mm/shmem.c shmem_getattr() -> shmem_huge_global_enabled()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
PARAM_VALUE 1 index 0
PARAM_VALUE 2 write_end 0
PARAM_VALUE 3 shmem_huge_force 0
PARAM_VALUE 4 vma 0
PARAM_VALUE 5 vm_flags 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &iint->mutex
HALF_LOCKED2 &lo->lo_mutex