Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

fs/ecryptfs/inode.c ecryptfs_rmdir() -> vfs_rmdir()

Type Parameter Key Value
PARAM_VALUE 0 idmap 1531479832127729664
PARAM_VALUE 2 dentry 4096-ptr_max
PARAM_VALUE 2 dentry->d_parent 4096-ptr_max
PARAM_VALUE 3 delegated_inode 0
BUF_SIZE 2 dentry (-1),1-s32max
BUF_SIZE 2 dentry (-1),1-s32max
DATA_SOURCE 2 dentry r ecryptfs_start_removing_dentry
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dentry->d_sb->s_vfs_rename_mutex
HALF_LOCKED2 &dir->d_inode->i_rwsem
HALF_LOCKED2 &dir->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/namei.c filename_rmdir() -> vfs_rmdir()

Type Parameter Key Value
PARAM_VALUE 1 dir 4096-ptr_max
PARAM_VALUE 1 dir->i_rwsem.dep_map->name 0-255
PARAM_VALUE 1 dir->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 dir->i_rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 1 dir->i_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 1 dir->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 dir->i_rwsem.osq.tail.counter 0-s32max
PARAM_VALUE 2 dentry 4096-ptr_max
PARAM_VALUE 2 dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 dentry->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 dentry->d_parent->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 dentry->d_parent->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 3 delegated_inode 2760981641129500672
PARAM_VALUE 3 delegated_inode->di_inode 0
DATA_SOURCE 2 dentry r start_dirop
RX_PATH
TASK_NOT_RUNNING

fs/overlayfs/dir.c ovl_do_rmdir() -> vfs_rmdir()

Type Parameter Key Value
PARAM_VALUE 1 dir->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 dir->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 dentry 4096-ptr_max
PARAM_VALUE 2 dentry->d_inode->i_mapping->host->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648,2712
PARAM_VALUE 2 dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 dentry->d_inode->i_op->get_acl 0,434817594022129664,1176132492164517888,2308293591809245184,2352177825799393280,5894181231315005440,7161457072544161792,8358186677320523776
PARAM_VALUE 2 dentry->d_inode->i_op->get_offset_ctx 0,2606890545167454208
PARAM_VALUE 2 dentry->d_inode->i_op->readlink 0,1728600404483375104,2832489546165891072,2874824064778891264,3069732422725099520,4516337085607264256
PARAM_VALUE 2 dentry->d_inode->i_op->sync_lazytime 0,6951464784224747520
PARAM_VALUE 2 dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 dentry->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 dentry->d_op->d_dname 0,4096-ptr_max
PARAM_VALUE 2 dentry->d_op->d_iput 0,4096-ptr_max
PARAM_VALUE 2 dentry->d_op->d_prune 0,4096-ptr_max
PARAM_VALUE 2 dentry->d_op->d_real 0,4096-ptr_max
PARAM_VALUE 2 dentry->d_parent->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 dentry->d_parent->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 3 delegated_inode 0
BUF_SIZE 2 dentry (-1),1-s32max
BUF_SIZE 2 dentry (-1),1-s32max
CAPPED_DATA 2 dentry 1
DATA_SOURCE 1 dir $1
DATA_SOURCE 2 dentry $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 dentry->d_inode->i_mode 0-u16max
USER_DATA 2 dentry->d_inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 2 dentry->dentry->d_inode->i_size
NO_OVERFLOW_SIMPLE 2 dentry->moved->d_inode->i_size
HALF_LOCKED2 1 &dir->i_rwsem
HALF_LOCKED2 2 &dentry->d_lockref.lock
HALF_LOCKED2 2 &dentry->d_sb->s_vfs_rename_mutex
TYPE_LOCK (struct inode)->i_rwsem

fs/nfsd/vfs.c nfsd_unlink() -> vfs_rmdir()

Type Parameter Key Value
PARAM_VALUE 0 idmap 1531479832127729664
PARAM_VALUE 1 dir->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 dir->i_rwsem.dep_map->name 0-255
PARAM_VALUE 1 dir->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 dir->i_rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 1 dir->i_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 1 dir->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 dir->i_rwsem.osq.tail.counter 0-s32max
PARAM_VALUE 2 dentry 4096-ptr_max
PARAM_VALUE 3 delegated_inode 0
BUF_SIZE 2 dentry (-1)-s32max
BUF_SIZE 2 dentry (-1)-s32max
DATA_SOURCE 2 dentry r start_removing

fs/overlayfs/readdir.c ovl_do_rmdir() -> vfs_rmdir()

Type Parameter Key Value
PARAM_VALUE 1 dir 4096-ptr_max
PARAM_VALUE 1 dir->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 dir->i_rwsem.dep_map->name 0-255
PARAM_VALUE 1 dir->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 dir->i_rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 1 dir->i_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 1 dir->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 dir->i_rwsem.osq.tail.counter 0-s32max
PARAM_VALUE 1 dir->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 2 dentry 4096-ptr_max
PARAM_VALUE 2 dentry->d_hash.pprev 1-u64max
PARAM_VALUE 2 dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 dentry->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 dentry->d_op->d_dname 0,4096-ptr_max
PARAM_VALUE 2 dentry->d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 2 dentry->d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 2 dentry->d_op->d_real 0,4509355519306412032
PARAM_VALUE 2 dentry->d_parent 4096-ptr_max
PARAM_VALUE 2 dentry->d_parent->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 dentry->d_parent->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 3 delegated_inode 0
BUF_SIZE 2 dentry (-1),1-s32max
BUF_SIZE 2 dentry (-1),1-s32max
CAPPED_DATA 1 dir 1
CAPPED_DATA 2 dentry->d_parent 1
DATA_SOURCE 1 dir $1
DATA_SOURCE 2 dentry $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 dentry->d_inode->i_mode 0-u16max
USER_DATA 2 dentry->d_inode->i_size (-9223372036854775807)-(-4),0-s64max
UNITS 2 dentry unit_jiffy
LOCK2 1 &dir->i_rwsem
HALF_LOCKED2 &ofs->workdir->d_lockref.lock
HALF_LOCKED2 &parent->d_inode->i_rwsem
HALF_LOCKED2 &sb->s_umount
HALF_LOCKED2 2 &dentry->d_lockref.lock
TYPE_LOCK (struct inode)->i_rwsem

fs/smb/server/vfs.c ksmbd_vfs_remove_file() -> vfs_rmdir()

Type Parameter Key Value
PARAM_VALUE 2 dentry 4096-ptr_max
PARAM_VALUE 2 dentry->d_parent 4096-ptr_max
PARAM_VALUE 3 delegated_inode 0
LOCK2 &pool->lock

fs/smb/server/vfs.c ksmbd_vfs_unlink() -> vfs_rmdir()

Type Parameter Key Value
PARAM_VALUE 1 dir 4096-ptr_max
PARAM_VALUE 2 dentry 4096-ptr_max
PARAM_VALUE 2 dentry->d_hash.pprev 1-u64max
PARAM_VALUE 2 dentry->d_parent 4096-ptr_max
PARAM_VALUE 3 delegated_inode 0
BUF_SIZE 2 dentry (-1),1-s32max
BUF_SIZE 2 dentry (-1),1-s32max
CAPPED_DATA 2 dentry->d_parent 1
DATA_SOURCE 0 idmap r file_mnt_idmap
DATA_SOURCE 2 dentry r start_removing_dentry
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dir->d_inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

drivers/base/devtmpfs.c dev_rmdir() -> vfs_rmdir()

Type Parameter Key Value
PARAM_VALUE 0 idmap 1531479832127729664
PARAM_VALUE 2 dentry 4096-ptr_max
PARAM_VALUE 3 delegated_inode 0
BUF_SIZE 2 dentry (-1)-s32max
BUF_SIZE 2 dentry (-1)-s32max
DATA_SOURCE 2 dentry r start_removing_path

fs/nfsd/nfs4recover.c nfsd4_unlink_clid_dir() -> vfs_rmdir()

Type Parameter Key Value
PARAM_VALUE 0 idmap 1531479832127729664
PARAM_VALUE 2 dentry 4096-ptr_max
PARAM_VALUE 3 delegated_inode 0
BUF_SIZE 2 dentry (-1)-s32max
BUF_SIZE 2 dentry (-1)-s32max
DATA_SOURCE 2 dentry r start_removing
HALF_LOCKED2 &pool->lock

fs/nfsd/nfs4recover.c purge_old() -> vfs_rmdir()

Type Parameter Key Value
PARAM_VALUE 0 idmap 1531479832127729664
PARAM_VALUE 2 dentry 4096-ptr_max
PARAM_VALUE 3 delegated_inode 0
BUF_SIZE 2 dentry (-1)-s32max
BUF_SIZE 2 dentry (-1)-s32max
DATA_SOURCE 2 dentry r start_removing_noperm
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &nfsd_mutex