Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

mm/huge_memory.c shmem_fallocend() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mapping->i_mmap_rwsem
TYPE_LOCK (struct address_space)->i_mmap_rwsem

mm/shmem.c __shmem_get_inode() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode->i_sb (-1),2880
CAPPED_DATA 0 inode->i_sb->s_time_max 1
DATA_SOURCE 0 inode r new_inode
STR_LEN 0 inode->i_sb (-1),8
PARAM_COMPARE 0 inode->i_sb->s_time_max >= $0->i_sb->s_time_min
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_sb->s_flags 0-u64max[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
HALF_LOCKED2 &sb->s_umount

mm/shmem.c __shmem_get_inode() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
HALF_LOCKED2 &sb->s_umount

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

Type Parameter Key Value
PARAM_VALUE 0 inode 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
CAPPED_DATA 0 inode->i_mapping 1
DATA_SOURCE 0 inode $2
NOSPEC 0 inode->i_size
RX_PATH
TASK_NOT_RUNNING
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
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
HALF_LOCKED2 0 &inode->i_rwsem

mm/shmem.c shmem_destroy_inode() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode->i_sb (-1),80,2752,2816,2880
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode $0
STR_LEN 0 inode->i_sb (-1),7-8
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_data.host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits

mm/shmem.c shmem_evict_inode() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode 1
CAPPED_DATA 0 inode->i_io_list.next 1
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes

mm/shmem.c shmem_fallocate() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

mm/shmem.c shmem_fallocend() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode (-1),1160
BUF_SIZE 0 inode (-1),1160
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_bytes

mm/shmem.c shmem_fileattr_get() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

mm/shmem.c shmem_fileattr_set() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

mm/shmem.c shmem_free_in_core_inode() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

mm/shmem.c shmem_get_dquots() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode (-1)-s32max
BUF_SIZE 0 inode (-1)-s32max
BUF_SIZE 0 inode->i_fop (-1),272
BUF_SIZE 0 inode->i_link (-1),1-255
BUF_SIZE 0 inode->i_mapping->a_ops (-1),152
BUF_SIZE 0 inode->i_op (-1),256
BUF_SIZE 0 inode->i_private (-1),40
BUF_SIZE 0 inode->i_sb (-1),80,2816,2880
DATA_SOURCE 0 inode $0
STR_LEN 0 inode (-1)-1,23-24
STR_LEN 0 inode (-1)-1,23-24
STR_LEN 0 inode->i_sb (-1),8
NOSPEC 0 inode->i_bytes
NOSPEC 0 inode->i_ino
NOSPEC 0 inode->i_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->__i_nlink 1-u32max
USER_DATA 0 inode->i_blocks 0-18014398515341359,18428729675200069632-u64max
USER_DATA 0 inode->i_bytes 0-65023[c]
USER_DATA 0 inode->i_ino 2-u32max[c]
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_rdev 0-u32max[c]
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
USER_DATA 0 inode->i_size (-9223372036854775807)-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_data.host->i_size
NO_OVERFLOW_SIMPLE 0 inode->i_linklen
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_size
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 &sb->s_inode_list_lock
HALF_LOCKED2 global &dq_data_lock
HALF_LOCKED2 0 &inode->i_lock
HALF_LOCKED2 0 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 0 &inode->i_rwsem

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

Type Parameter Key Value
PARAM_VALUE 0 inode 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
CAPPED_DATA 0 inode->i_mapping 1
CAPPED_DATA 0 inode->i_sb->s_fs_info->max_blocks 1
DATA_SOURCE 0 inode $0
NOSPEC 0 inode->i_size
RX_PATH
TASK_NOT_RUNNING
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-u64max[c]
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_size
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 0 &inode->i_rwsem

mm/shmem.c shmem_get_offset_ctx() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode->i_fop (-1),272
BUF_SIZE 0 inode->i_op (-1),256
BUF_SIZE 0 inode->i_sb (-1),2880
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $0
STR_LEN 0 inode->i_sb (-1)
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
USER_DATA 0 inode->i_size (-9223372036854775807)-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 0 &inode->i_rwsem

mm/shmem.c shmem_get_policy() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &iint->mutex
HALF_LOCKED2 &lo->lo_mutex

mm/shmem.c shmem_initxattrs() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode (-1)-s32max
BUF_SIZE 0 inode (-1)-s32max
BUF_SIZE 0 inode->i_fop (-1),272
BUF_SIZE 0 inode->i_link (-1),1-255
BUF_SIZE 0 inode->i_mapping->a_ops (-1),152
BUF_SIZE 0 inode->i_op (-1),256
BUF_SIZE 0 inode->i_sb (-1),2880
DATA_SOURCE 0 inode $0
STR_LEN 0 inode->i_sb (-1),8
BIT_INFO 0 inode->i_flags 0x0,0xfffffdff
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->__i_nlink 1-u32max
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-u64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_ino
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 0 inode->i_size
HALF_LOCKED2 &f->sem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &sbi->vh_mutex

mm/shmem.c shmem_inode_acct_blocks() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode->i_mapping->a_ops (-1),152
BUF_SIZE 0 inode->i_private (-1),40
DATA_SOURCE 0 inode $0
NOSPEC 0 inode->i_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_blocks 0-36028797024823343,18428729675200069633-u64max
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-2147550208[c]
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
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
HALF_LOCKED2 &session->mutex
HALF_LOCKED2 &state.ctx->map_changing_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 0 &inode->i_rwsem

mm/shmem.c shmem_inode_unacct_blocks() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode->i_mapping->a_ops (-1),152
BUF_SIZE 0 inode->i_private (-1),40
DATA_SOURCE 0 inode $0
NOSPEC 0 inode->i_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_blocks 0-18014398515341359,18428729675200069633-u64max
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-2147550208[c]
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_size
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 0 &inode->i_rwsem

mm/shmem.c shmem_listxattr() -> SHMEM_I()

Type Parameter Key Value
TASK_NOT_RUNNING

mm/shmem.c shmem_lock() -> SHMEM_I()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &shp->shm_perm.lock
HALF_LOCKED2 rcu_read

mm/shmem.c shmem_mfill_folio_alloc() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
LOCK2 &state.ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/shmem.c shmem_recalc_inode() -> SHMEM_I()

Type Parameter Key Value
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
DATA_SOURCE 0 inode $0
NOSPEC 0 inode->i_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_blocks 0-18014398515341359,18428729675200069633-u64max
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
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_size
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 &session->mutex
HALF_LOCKED2 &state.ctx->map_changing_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 0 &inode->i_rwsem

mm/shmem.c shmem_set_policy() -> SHMEM_I()

Type Parameter Key Value
HALF_LOCKED2 &mm->mmap_lock

mm/shmem.c shmem_setattr() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock

mm/shmem.c shmem_setattr() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock

mm/shmem.c shmem_swap_alloc_folio() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode->i_mapping->a_ops (-1),152
BUF_SIZE 0 inode->i_private (-1),40
DATA_SOURCE 0 inode $0
NOSPEC 0 inode->i_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_sb->s_flags 0-2147550208[c]
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
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
HALF_LOCKED2 0 &inode->i_rwsem

mm/shmem.c shmem_swap_usage() -> SHMEM_I()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
HALF_LOCKED2 &priv->lock_ctx.mm->mmap_lock
TYPE_LOCK (struct seq_file)->lock

mm/shmem.c shmem_swapin_folio() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 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
DATA_SOURCE 0 inode $0
NOSPEC 0 inode->i_size
RX_PATH
TASK_NOT_RUNNING
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
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
HALF_LOCKED2 0 &inode->i_rwsem

mm/shmem.c shmem_undo_range() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode->i_private (-1),40
DATA_SOURCE 0 inode $0
NOSPEC 0 inode->i_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_blocks 0-18014398515341359,18428729675200069633-u64max
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
HALF_LOCKED2 0 &inode->i_rwsem

mm/shmem.c shmem_write_begin() -> SHMEM_I()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem

mm/shmem.c shmem_writeout() -> SHMEM_I()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/shmem.c shmem_xattr_handler_get() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode (-1),1-s32max
BUF_SIZE 0 inode (-1),1-s32max
DATA_SOURCE 0 inode $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_blocks 0-18014398509481983,18428729675200069632-u64max
USER_DATA 0 inode->i_bytes 0-511[c]
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_sb->s_flags 1-42111186[c]
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_ino
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_size
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 0 &inode->i_rwsem

mm/shmem.c shmem_xattr_handler_set() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $3
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &unused->d_inode->i_rwsem
HALF_LOCKED2 0 &inode->i_rwsem

mm/memfd_luo.c shmem_freeze() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
RX_PATH
LOCK2 _T->lock
LOCK2 0 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

mm/memfd_luo.c shmem_freeze() -> SHMEM_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 _T->lock
LOCK2 0 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

ipc/shm.c shm_add_rss_swap() -> SHMEM_I()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &s->lock

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

Type Parameter Key Value
RX_PATH
HALF_LOCKED2 &inode->i_rwsem