Defined in 2 files as a function:

Referenced in 8 files:

Smatch caller information:

mm/huge_memory.c __thp_vma_allowable_orders() -> shmem_file()

Type Parameter Key Value
PARAM_VALUE 0 file 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 file->f_mapping->host->i_size
HALF_LOCKED2 &m->lock

mm/vma.c can_set_ksm_flags_early() -> shmem_file()

Type Parameter Key Value
PARAM_VALUE 0 file 4096-ptr_max

mm/gup.c memfd_pin_folios() -> shmem_file()

Type Parameter Key Value
PARAM_VALUE 0 file 1-u64max
CAPPED_DATA 0 file 1
DATA_SOURCE 0 file $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 _T->lock

mm/memfd_luo.c memfd_luo_can_preserve() -> shmem_file()

Type Parameter Key Value
PARAM_VALUE 0 file 4096-ptr_max
CAPPED_DATA 0 file 1
DATA_SOURCE 0 file $1
LOCK2 _T->lock
LOCK2 global &luo_register_rwlock

drivers/dma-buf/udmabuf.c check_memfd_seals() -> shmem_file()

Type Parameter Key Value
PARAM_VALUE 0 file 4096-ptr_max
CAPPED_DATA 0 file 1
DATA_SOURCE 0 file $0

mm/khugepaged.c collapse_file() -> shmem_file()

Type Parameter Key Value
PARAM_VALUE 0 file 4096-ptr_max
DATA_SOURCE 0 file $2
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 file->f_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 file->f_mapping->host->i_size
HALF_LOCKED2 &mm->mmap_lock

mm/memfd.c memfd_file_seals_ptr() -> shmem_file()

Type Parameter Key Value
PARAM_VALUE 0 file 0,4-u64max
BUF_SIZE 0 file (-1)-s32max
BUF_SIZE 0 file (-1)-s32max
BUF_SIZE 0 file->f_op (-1),272
BUF_SIZE 0 file->private_data (-1),32
DATA_SOURCE 0 file $0
RX_PATH
USER_DATA 0 file->f_flags 0-18433,32770
USER_DATA 0 file->f_mode 33554432,34078720-571342855[c]
NO_OVERFLOW_SIMPLE 0 file->f_inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 file->f_inode->i_size
NO_OVERFLOW_SIMPLE 0 file->f_path.d_inode->i_size
HALF_LOCKED2 &inode->i_rwsem