Defined in 2 files as a function:

Referenced in 11 files:

Smatch caller information:

fs/xattr.c break_deleg() -> locks_inode_context()

Type Parameter Key Value
DATA_SOURCE 0 inode $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max

fs/attr.c break_deleg() -> locks_inode_context()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_sb->s_time_max 1
DATA_SOURCE 0 inode $0
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 &inode->i_rwsem
HALF_LOCKED2 &pool->lock

fs/nfs/delegation.c break_lease() -> locks_inode_context()

Type Parameter Key Value
PARAM_VALUE 0 inode 1-u64max
BUF_SIZE 0 inode (-1),1-s32max
BUF_SIZE 0 inode (-1),1-s32max
BUF_SIZE 0 inode->i_data.a_ops (-1),152
BUF_SIZE 0 inode->i_fop (-1)-0,272
BUF_SIZE 0 inode->i_op (-1),256
DATA_SOURCE 0 inode $0
STR_LEN 0 inode (-1),1-24,26-27,29,31-34,63,99,115,254-255
STR_LEN 0 inode (-1),1-24,26-27,29,31-34,63,99,115,254-255
NOSPEC 0 inode->i_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->__i_nlink 1-u32max
USER_DATA 0 inode->i_atime_nsec 0-u32max
USER_DATA 0 inode->i_atime_sec 0-4294967295
USER_DATA 0 inode->i_blocks 0-18014398509481983,18428729675200069632-u64max
USER_DATA 0 inode->i_bytes 0-511[c]
USER_DATA 0 inode->i_ino 0-u64max
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_mtime_nsec 0-u32max
USER_DATA 0 inode->i_mtime_sec 0-4294967295
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)-(-4),0-s64max
USER_DATA 0 inode->i_version.counter 1-4611686021648613375[c]
NO_OVERFLOW_SIMPLE 0 inode->d_inode->i_size
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_size
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 0 inode->moved->d_inode->i_size
HALF_LOCKED2 0 &inode->i_lock
HALF_LOCKED2 0 &inode->i_rwsem

fs/nfs/delegation.c nfs_delegation_claim_locks() -> locks_inode_context()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sp->so_delegreturn_mutex
HALF_LOCKED2 &inode->i_lock
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct nfs4_state_owner)->so_delegreturn_mutex

fs/ceph/locks.c ceph_count_locks() -> locks_inode_context()

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 $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &mdsc->snap_rwsem
HALF_LOCKED2 &s->lock
HALF_LOCKED2 &session->s_mutex

fs/ceph/locks.c ceph_encode_locks_to_buffer() -> locks_inode_context()

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 $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &mdsc->snap_rwsem
HALF_LOCKED2 &s->lock
HALF_LOCKED2 &session->s_mutex

fs/namei.c break_deleg() -> locks_inode_context()

Type Parameter Key Value
PARAM_VALUE 0 inode 0,4096-ptr_max
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $0
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 0 &inode->i_rwsem

fs/nfsd/nfs4state.c check_for_locks() -> locks_inode_context()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
LOCK2 &fp->fi_lock
HALF_LOCKED2 &clp->cl_lock
HALF_LOCKED2 &stp->st_mutex
TYPE_LOCK (struct nfs4_file)->fi_lock

fs/nfsd/nfs4state.c nfs4_lockowner_has_blockers() -> locks_inode_context()

Type Parameter Key Value
PREEMPT_ADD
LOCK2 &clp->cl_lock
LOCK2 &nn->client_lock
LOCK2 &pool->lock
TYPE_LOCK (struct nfs4_client)->cl_lock
TYPE_LOCK (struct nfsd_net)->client_lock

fs/nfsd/nfs4state.c nfsd4_deleg_getattr_conflict() -> locks_inode_context()

Type Parameter Key Value

fs/nfsd/nfs4state.c nfsd4_deleg_present() -> locks_inode_context()

Type Parameter Key Value
PARAM_VALUE 0 inode 0,4096-ptr_max
DATA_SOURCE 0 inode $0
TASK_NOT_RUNNING
HALF_LOCKED2 0 &inode->i_rwsem

fs/nfsd/nfs4state.c nfsd_handle_dir_event() -> locks_inode_context()

Type Parameter Key Value
DATA_SOURCE 0 inode $1

fs/nfsd/nfs4state.c nfsd_recall_all_dir_delegs() -> locks_inode_context()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0

fs/utimes.c break_deleg() -> locks_inode_context()

Type Parameter Key Value
PARAM_VALUE 0 inode 0,4096-ptr_max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING

fs/nfs/pagelist.c nfs_coalesce_size() -> locks_inode_context()

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

fs/posix_acl.c break_deleg() -> locks_inode_context()

Type Parameter Key Value
PARAM_VALUE 0 inode 0,4096-ptr_max
DATA_SOURCE 0 inode $0
PREEMPT_ADD
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 0 &inode->i_rwsem

fs/nfsd/vfs.c break_lease() -> locks_inode_context()

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

fs/smb/client/file.c break_lease() -> locks_inode_context()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
PREEMPT_ADD
HALF_LOCKED2 &pool->lock

fs/smb/client/file.c cifs_push_posix_locks() -> locks_inode_context()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &cinode->lock_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct cifsInodeInfo)->lock_sem

fs/xfs/xfs_pnfs.c break_layout() -> locks_inode_context()

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

fs/xfs/xfs_inode.c break_layout() -> locks_inode_context()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &src->i_rwsem
HALF_LOCKED2 0 &inode->i_rwsem

fs/lockd/svcsubs.c nlm_file_inuse() -> locks_inode_context()

Type Parameter Key Value
DATA_SOURCE 0 inode r nlmsvc_file_inode
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &nlm_file_mutex

fs/lockd/svcsubs.c nlm_traverse_locks() -> locks_inode_context()

Type Parameter Key Value
DATA_SOURCE 0 inode r nlmsvc_file_inode
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &nlm_host_mutex

fs/smb/server/vfs.c check_lock_range() -> locks_inode_context()

Type Parameter Key Value
LOCK2 &pool->lock

fs/locks.c __break_lease() -> locks_inode_context()

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_data.a_ops (-1),152
BUF_SIZE 0 inode->i_fop (-1)-0,272
BUF_SIZE 0 inode->i_op (-1),256
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $0
STR_LEN 0 inode (-1),1-24,26-27,29,31-34,63,99,115,254-255
STR_LEN 0 inode (-1),1-24,26-27,29,31-34,63,99,115,254-255
NOSPEC 0 inode->i_size
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->__i_nlink 1-u32max
USER_DATA 0 inode->i_atime_nsec 0-u32max
USER_DATA 0 inode->i_atime_sec 0-4294967295
USER_DATA 0 inode->i_blocks 0-18014398509481983,18428729675200069632-u64max
USER_DATA 0 inode->i_bytes 0-511[c]
USER_DATA 0 inode->i_ino 0-u64max
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_mtime_nsec 0-u32max
USER_DATA 0 inode->i_mtime_sec 0-4294967295
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)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 0 inode->d_inode->i_size
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_size
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 0 inode->moved->d_inode->i_size
HALF_LOCKED2 0 &inode->i_lock
HALF_LOCKED2 0 &inode->i_rwsem

fs/locks.c __fcntl_getlease() -> locks_inode_context()

Type Parameter Key Value

fs/locks.c first_visible_lease() -> locks_inode_context()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_flctx 4096-ptr_max
BUF_SIZE 0 inode (-1)-s32max
BUF_SIZE 0 inode (-1)-s32max
BUF_SIZE 0 inode->i_data.a_ops (-1),152
BUF_SIZE 0 inode->i_fop (-1)-0,272
BUF_SIZE 0 inode->i_op (-1),256
DATA_SOURCE 0 inode $0
STR_LEN 0 inode (-1),1-24,26-27,29,31-34,63,99,115,254
STR_LEN 0 inode (-1),1-24,26-27,29,31-34,63,99,115,254
NOSPEC 0 inode->i_size
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->__i_nlink 1-u32max
USER_DATA 0 inode->i_atime_nsec 0-u32max
USER_DATA 0 inode->i_atime_sec 0-4294967295
USER_DATA 0 inode->i_blocks 0-18014398509481983,18428729675200069632-u64max
USER_DATA 0 inode->i_bytes 0-511[c]
USER_DATA 0 inode->i_ino 0-u64max
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_mtime_nsec 0-u32max
USER_DATA 0 inode->i_mtime_sec 0-4294967295
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)-(-4),0-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
LOCK2 &ctx->flc_lock
HALF_LOCKED2 0 &inode->i_lock
HALF_LOCKED2 0 &inode->i_rwsem
TYPE_LOCK (struct file_lock_context)->flc_lock

fs/locks.c generic_delete_lease() -> locks_inode_context()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

fs/locks.c inode_lease_ignore_mask() -> locks_inode_context()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &nf->nf_mark->nfm_recalc_mutex
TYPE_LOCK (struct nfsd_file_mark)->nfm_recalc_mutex

fs/locks.c lease_get_mtime() -> locks_inode_context()

Type Parameter Key Value
DATA_SOURCE 0 inode $0

fs/locks.c locks_free_lock_context() -> locks_inode_context()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_fsnotify_marks 1
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
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

fs/locks.c locks_get_lock_context() -> locks_inode_context()

Type Parameter Key Value
DATA_SOURCE 0 inode $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

fs/locks.c locks_get_lock_context() -> locks_inode_context()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_flctx 1-u64max
PARAM_VALUE 0 inode->i_opflags 256-u16max
DATA_SOURCE 0 inode $0
BIT_INFO 0 inode->i_opflags 0x100,0xffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

fs/locks.c locks_remove_file() -> locks_inode_context()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

fs/locks.c locks_remove_posix() -> locks_inode_context()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

fs/locks.c posix_test_lock() -> locks_inode_context()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cinode->lock_sem

fs/locks.c show_fd_locks() -> locks_inode_context()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &f->lock
TYPE_LOCK (struct seq_file)->lock

fs/locks.c vfs_inode_has_locks() -> locks_inode_context()

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

fs/nfs/write.c nfs_can_extend_write() -> locks_inode_context()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

fs/nfs/write.c nfs_flush_incompatible() -> locks_inode_context()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

fs/xfs/xfs_file.c break_layout() -> locks_inode_context()

Type Parameter Key Value
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING

fs/open.c break_deleg() -> locks_inode_context()

Type Parameter Key Value
PARAM_VALUE 0 inode 0,4096-ptr_max
DATA_SOURCE 0 inode $0

fs/open.c break_lease() -> locks_inode_context()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

fs/nfs/nfs4state.c nfs4_reclaim_locks() -> locks_inode_context()

Type Parameter Key Value