Defined in 1 files as a function:

Referenced in 10 files:

Smatch caller information:

fs/afs/inode.c inode_generic_drop() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
LOCK2 0 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/nfs/inode.c inode_generic_drop() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
LOCK2 0 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/coda/cnode.c remove_inode_hash() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode (-1)-s32max
BUF_SIZE 0 inode (-1)-s32max
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->__i_nlink 1-u32max
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[c]
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes

fs/inode.c __wait_on_freeing_inode() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &inode->i_lock
HALF_LOCKED2 global &inode_hash_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct inode)->i_lock

fs/inode.c iget5_locked_rcu() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode r find_inode
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes

fs/inode.c iget_locked() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode r find_inode_fast
STR_LEN 0 inode->i_sb (-1)
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_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 &sb->s_fs_info->hpfs_mutex
HALF_LOCKED2 &sbi->hpfs_mutex

fs/inode.c iget_locked() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
STR_LEN 0 inode->i_sb (-1)
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_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 &sb->s_fs_info->hpfs_mutex
HALF_LOCKED2 &sbi->hpfs_mutex

fs/inode.c ilookup() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode r find_inode_fast
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
HALF_LOCKED2 &c->tnc_mutex
HALF_LOCKED2 &root->kernfs_rwsem
HALF_LOCKED2 &root->kernfs_supers_rwsem

fs/inode.c ilookup5() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode r ilookup5_nowait
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes
HALF_LOCKED2 &mdsc->snap_rwsem
HALF_LOCKED2 &nilfs->ns_snapshot_mount_mutex
HALF_LOCKED2 &vcp->vc_mutex
HALF_LOCKED2 &vi->i_rwsem

fs/inode.c inode_generic_drop() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
PREEMPT_ADD
LOCK2 0 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/inode.c inode_insert5() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode r find_inode
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes

fs/inode.c insert_inode_locked() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_ino 1
CAPPED_DATA 0 inode->i_sb 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &f->sem
HALF_LOCKED2 &sbi->s_lock

fs/inode.c remove_inode_hash() -> inode_unhashed()

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

fs/btrfs/inode.c btrfs_add_inode_to_root() -> inode_unhashed()

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

fs/btrfs/inode.c inode_generic_drop() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
LOCK2 0 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

mm/shmem.c shmem_encode_fh() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode (-1)-s32max
BUF_SIZE 0 inode (-1)-s32max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &group->mark_mutex
HALF_LOCKED2 &m->lock
HALF_LOCKED2 0 &inode->i_sb->s_umount

mm/shmem.c shmem_encode_fh() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_hash.pprev 0
BUF_SIZE 0 inode (-1)-s32max
BUF_SIZE 0 inode (-1)-s32max
DATA_SOURCE 0 inode $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lock
HALF_LOCKED2 &group->mark_mutex
HALF_LOCKED2 &m->lock
HALF_LOCKED2 0 &inode->i_sb->s_umount

fs/fs-writeback.c __mark_inode_dirty() -> inode_unhashed()

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_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),80,2752,2816
DATA_SOURCE 0 inode $0
STR_LEN 0 inode (-1)-24,26-27,29,31-32,63,99,115,254
STR_LEN 0 inode (-1)-24,26-27,29,31-32,63,99,115,254
STR_LEN 0 inode->i_sb (-1),8
NOSPEC 0 inode->i_bytes
NOSPEC 0 inode->i_ino
NOSPEC 0 inode->i_mode
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-36028797024823343,18428729675200069632-u64max
USER_DATA 0 inode->i_bytes 0-65023[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 s64min-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_data.host->i_bytes
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 0 &inode->i_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &old_inode_ui->ui_mutex
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem
HALF_LOCKED2 &sdp->sd_log_flush_lock
HALF_LOCKED2 &ui->ui_mutex
HALF_LOCKED2 &vol_ni->mrec_lock
HALF_LOCKED2 0 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 0 &inode->i_rwsem
HALF_LOCKED2 0 &inode->i_wb->list_lock
TYPE_LOCK (struct inode)->i_lock

fs/overlayfs/util.c ovl_inode_update() -> inode_unhashed()

Type Parameter Key Value
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dentry->d_lockref.lock

fs/bad_inode.c remove_inode_hash() -> inode_unhashed()

Type Parameter Key Value
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),80,2752,2816,2880
DATA_SOURCE 0 inode $0
STR_LEN 0 inode (-1)-0,23-24
STR_LEN 0 inode (-1)-0,23-24
STR_LEN 0 inode->i_sb (-1),7-8
NOSPEC 0 inode->i_bytes
NOSPEC 0 inode->i_ino
NOSPEC 0 inode->i_mode
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_blocks 0-18014398509481983,18428729675200069632-u64max
USER_DATA 0 inode->i_bytes 0-65023[c]
USER_DATA 0 inode->i_ino 0-u64max
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)-(-2),0-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
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 0 &inode->i_lock
HALF_LOCKED2 0 &inode->i_rwsem

block/bdev.c disk_live() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &bdev->bd_queue->rq_qos_mutex
HALF_LOCKED2 &disk->error_injection_lock
HALF_LOCKED2 &disk->open_mutex
HALF_LOCKED2 &of->mutex

block/bdev.c remove_inode_hash() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &disk->open_mutex
TYPE_LOCK (struct gendisk)->open_mutex

fs/9p/vfs_super.c inode_generic_drop() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
LOCK2 0 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/ntfs/inode.c inode_generic_drop() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
LOCK2 0 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/ntfs/inode.c ntfs_drop_big_inode() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
LOCK2 0 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/gfs2/super.c inode_generic_drop() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
LOCK2 0 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/ntfs/namei.c remove_inode_hash() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
BIT_INFO 0 inode->i_flags 0x0,0x1000
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
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

fs/f2fs/super.c f2fs_drop_inode() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
LOCK2 0 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/f2fs/super.c inode_generic_drop() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
LOCK2 0 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/fuse/inode.c remove_inode_hash() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode (-1)-s32max
BUF_SIZE 0 inode (-1)-s32max
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->__i_nlink 1-u32max
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[c]
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes

fs/xfs/xfs_super.c inode_generic_drop() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
LOCK2 0 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/ubifs/super.c inode_generic_drop() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
LOCK2 0 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/smb/client/cifsfs.c inode_generic_drop() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
LOCK2 0 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/ext4/super.c inode_generic_drop() -> inode_unhashed()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
LOCK2 0 &inode->i_lock
TYPE_LOCK (struct inode)->i_lock

fs/ext4/super.c remove_inode_hash() -> inode_unhashed()

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