Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/nfs/dir.c nfs_rename() -> nfs_async_rename()

Type Parameter Key Value
PARAM_VALUE 0 old_dir 4096-ptr_max
PARAM_VALUE 0 old_dir->i_flctx->flc_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 old_dir->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 old_dir->i_op 4096-ptr_max
PARAM_VALUE 0 old_dir->i_op->rename 4096-ptr_max
PARAM_VALUE 1 new_dir 4096-ptr_max
PARAM_VALUE 1 new_dir->i_sb 4096-ptr_max
PARAM_VALUE 2 old_dentry 4096-ptr_max
PARAM_VALUE 2 old_dentry->d_inode 4096-ptr_max
PARAM_VALUE 2 old_dentry->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 old_dentry->d_sb 4096-ptr_max
PARAM_VALUE 3 new_dentry 4096-ptr_max
PARAM_VALUE 3 new_dentry->d_inode 0,4096-ptr_max
PARAM_VALUE 3 new_dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 3 new_dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 3 new_dentry->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 3 new_dentry->d_inode->i_sb->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 3 new_dentry->d_inode->i_sb->s_umount.first_waiter->type 0-1
PARAM_VALUE 3 new_dentry->d_parent->d_inode->i_sb->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 3 new_dentry->d_parent->d_inode->i_sb->s_umount.first_waiter->type 0-1
PARAM_VALUE 3 new_dentry->d_parent->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 4 complete 0,1351836009799929856
CAPPED_DATA 0 old_dir 1
CAPPED_DATA 1 new_dir 1
CAPPED_DATA 2 old_dentry 1
CAPPED_DATA 2 old_dentry->d_parent->d_inode 1
DATA_SOURCE 0 old_dir $1
DATA_SOURCE 1 new_dir $3
DATA_SOURCE 2 old_dentry $2
DATA_SOURCE 3 new_dentry $4 [m]
BIT_INFO 4 complete 0x0,0x12c2afb046b4d000
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 old_dentry->d_inode->i_mode 0-u16max
USER_DATA 3 new_dentry->__d_name.hash 0-u32max[c]
USER_DATA 3 new_dentry->d_inode->i_mode 0-u16max
USER_DATA 3 new_dentry->d_inode->i_size (-9223372036854775807)-(-4),0-s64max
USER_DATA 3 new_dentry->d_parent->__d_name.hash 0-u32max[c]
USER_PTR 3 new_dentry->__d_name.name
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

fs/nfs/unlink.c nfs_sillyrename() -> nfs_async_rename()

Type Parameter Key Value
PARAM_VALUE 0 old_dir 4096-ptr_max
PARAM_VALUE 0 old_dir->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 old_dir->i_op->unlink 0,4096-ptr_max
PARAM_VALUE 0 old_dir->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 old_dir->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 old_dir->i_sb 4096-ptr_max
PARAM_VALUE 1 new_dir 4096-ptr_max
PARAM_VALUE 1 new_dir->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 new_dir->i_op->unlink 0,4096-ptr_max
PARAM_VALUE 1 new_dir->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 new_dir->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 new_dir->i_sb 4096-ptr_max
PARAM_VALUE 2 old_dentry 4096-ptr_max
PARAM_VALUE 2 old_dentry->d_flags 0,4096-u32max
PARAM_VALUE 2 old_dentry->d_fsdata 4096-ptr_max
PARAM_VALUE 2 old_dentry->d_inode 4096-ptr_max
PARAM_VALUE 2 old_dentry->d_inode->i_mapping->host->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648,2712
PARAM_VALUE 2 old_dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 old_dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 old_dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 old_dentry->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 old_dentry->d_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648,2704,2712
PARAM_VALUE 2 old_dentry->d_lockref.lock.rlock.dep_map->name 0-255
PARAM_VALUE 2 old_dentry->d_op->d_dname 0,4096-ptr_max
PARAM_VALUE 2 old_dentry->d_op->d_iput 0,4096-ptr_max
PARAM_VALUE 2 old_dentry->d_op->d_prune 0,4096-ptr_max
PARAM_VALUE 2 old_dentry->d_op->d_real 0,4096-ptr_max
PARAM_VALUE 2 old_dentry->d_parent 4096-ptr_max
PARAM_VALUE 2 old_dentry->d_parent->d_inode 4096-ptr_max
PARAM_VALUE 2 old_dentry->d_parent->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 old_dentry->d_parent->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 old_dentry->d_parent->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 2 old_dentry->d_parent->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 2 old_dentry->d_parent->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 2 old_dentry->d_parent->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 2 old_dentry->d_parent->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 2 old_dentry->d_parent->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 2 old_dentry->d_parent->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 2 old_dentry->d_parent->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 2 old_dentry->d_parent->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 2 old_dentry->d_parent->d_sb->s_fs_info->s_bmap_bits 0-4294967295
PARAM_VALUE 2 old_dentry->d_parent->d_sb->s_fs_info->s_bmap_count 0-4294967295
PARAM_VALUE 2 old_dentry->d_parent->d_sb->s_fs_info->s_data_blksize 0-4294967295
PARAM_VALUE 2 old_dentry->d_parent->d_sb->s_fs_info->s_hashsize s32min-s32max
PARAM_VALUE 2 old_dentry->d_parent->d_sb->s_fs_info->s_last_bmap 0-4294967295
PARAM_VALUE 2 old_dentry->d_parent->d_sb->s_fs_info->s_mode 0-u16max
PARAM_VALUE 2 old_dentry->d_parent->d_sb->s_fs_info->s_partition_size s32min-s32max
PARAM_VALUE 2 old_dentry->d_parent->d_sb->s_fs_info->s_reserved s32min-s32max
PARAM_VALUE 2 old_dentry->d_parent->d_sb->s_fs_info->s_root_block 0-4294967295
PARAM_VALUE 2 old_dentry->d_parent->d_sb->s_fs_info->work_queued s32min-s32max
PARAM_VALUE 2 old_dentry->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 2 old_dentry->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 2 old_dentry->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 2 old_dentry->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 2 old_dentry->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 2 old_dentry->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 2 old_dentry->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 2 old_dentry->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 2 old_dentry->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 2 old_dentry->d_sb->s_export_op->flags 0,127
PARAM_VALUE 3 new_dentry 4096-ptr_max
PARAM_VALUE 3 new_dentry->d_fsdata->lease_gen 0
PARAM_VALUE 3 new_dentry->d_inode 0
PARAM_VALUE 3 new_dentry->d_name.name 1-u64max
PARAM_VALUE 3 new_dentry->d_op->d_dname 0,4096-ptr_max
PARAM_VALUE 3 new_dentry->d_op->d_iput 0,4096-ptr_max
PARAM_VALUE 3 new_dentry->d_op->d_prune 0,4096-ptr_max
PARAM_VALUE 3 new_dentry->d_op->d_real 0,4096-ptr_max
BUF_SIZE 2 old_dentry (-1),1-s32max
BUF_SIZE 2 old_dentry (-1),1-s32max
CAPPED_DATA 0 old_dir 1
CAPPED_DATA 1 new_dir 1
CAPPED_DATA 2 old_dentry 1
CAPPED_DATA 2 old_dentry->d_parent 1
DATA_SOURCE 0 old_dir $0
DATA_SOURCE 1 new_dir $0
DATA_SOURCE 2 old_dentry $1
DATA_SOURCE 3 new_dentry r lookup_noperm
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 old_dentry->d_inode->i_mode 0-u16max
USER_DATA 2 old_dentry->d_inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 2 old_dentry->moved->d_inode->i_size
HALF_LOCKED2 &target->i_rwsem
HALF_LOCKED2 0 &old_dir->i_rwsem
HALF_LOCKED2 1 &new_dir->i_rwsem
HALF_LOCKED2 2 &old_dentry->d_sb->s_vfs_rename_mutex
HALF_LOCKED2 3 &new_dentry->d_lockref.lock