Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/namei.c vfs_create() -> may_create_dentry()

Type Parameter Key Value
PARAM_VALUE 2 child 4096-ptr_max
PARAM_VALUE 2 child->d_parent 4096-ptr_max
PARAM_VALUE 2 child->d_parent->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 child->d_parent->d_inode->i_rwsem.first_waiter->type 0-1
BUF_SIZE 2 child (-1),1-s32max
BUF_SIZE 2 child (-1),1-s32max
CAPPED_DATA 2 child 1
DATA_SOURCE 0 idmap $0
DATA_SOURCE 2 child $1
PARAM_COMPARE 1 dir == $2->d_parent->d_inode
PARAM_COMPARE 2 child->d_parent->d_inode == $1
RX_PATH
TASK_NOT_RUNNING

fs/namei.c vfs_link() -> may_create_dentry()

Type Parameter Key Value
PARAM_VALUE 1 dir 4096-ptr_max
PARAM_VALUE 1 dir->i_op->mknod 0,4096-ptr_max
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 1 dir->i_sb 4096-ptr_max
PARAM_VALUE 2 child 4096-ptr_max
PARAM_VALUE 2 child->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 child->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 child->d_parent->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 child->d_parent->d_inode->i_rwsem.first_waiter->type 0-1
BUF_SIZE 2 child (-1),1-s32max
BUF_SIZE 2 child (-1),1-s32max
DATA_SOURCE 0 idmap $1
DATA_SOURCE 1 dir $2
DATA_SOURCE 2 child $3
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 dir->i_mode 0-u16max
USER_DATA 1 dir->i_size (-9223372036854775807)-(-4),0-s64max
HALF_LOCKED2 &pool->lock

fs/namei.c vfs_mkdir() -> may_create_dentry()

Type Parameter Key Value
PARAM_VALUE 1 dir 4096-ptr_max
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 1 dir->i_sb 4096-ptr_max
PARAM_VALUE 2 child 4096-ptr_max
PARAM_VALUE 2 child->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 child->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 child->d_op->d_dname 0,4096-ptr_max
PARAM_VALUE 2 child->d_op->d_iput 0,4096-ptr_max
PARAM_VALUE 2 child->d_op->d_prune 0,4096-ptr_max
PARAM_VALUE 2 child->d_op->d_real 0,4096-ptr_max
PARAM_VALUE 2 child->d_parent->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 child->d_parent->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 child->d_parent->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 2 child->d_parent->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 2 child->d_parent->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 2 child->d_parent->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 2 child->d_parent->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 2 child->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 2 child->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 2 child->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 2 child->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 2 child->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 2 child->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 2 child->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 2 child->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 2 child->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
BUF_SIZE 1 dir (-1),1160
BUF_SIZE 1 dir (-1),1160
BUF_SIZE 2 child (-1),1-s32max
BUF_SIZE 2 child (-1),1-s32max
DATA_SOURCE 0 idmap $0
DATA_SOURCE 1 dir $1
DATA_SOURCE 2 child $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 dir->i_mode 0-u16max
USER_DATA 1 dir->i_size (-9223372036854775807)-(-4),0-s64max
USER_DATA 2 child->d_inode->i_mode 0-u16max
USER_DATA 2 child->d_inode->i_size (-9223372036854775807)-(-4),0-s64max
HALF_LOCKED2 2 &child->d_lockref.lock

fs/namei.c vfs_mknod() -> may_create_dentry()

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 child 4096-ptr_max
PARAM_VALUE 2 child->d_parent->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 child->d_parent->d_inode->i_rwsem.first_waiter->type 0-1
BUF_SIZE 2 child (-1),1-s32max
BUF_SIZE 2 child (-1),1-s32max
DATA_SOURCE 0 idmap $0
DATA_SOURCE 1 dir $1
DATA_SOURCE 2 child $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 dir->i_mode 0-u16max
USER_DATA 1 dir->i_size (-9223372036854775807)-(-4),0-s64max
HALF_LOCKED2 _T->lock

fs/namei.c vfs_mkobj() -> may_create_dentry()

Type Parameter Key Value
PARAM_VALUE 0 idmap 1531479832127729664
PARAM_VALUE 2 child 4096-ptr_max
PARAM_VALUE 2 child->d_parent 4096-ptr_max
BUF_SIZE 2 child (-1),1-s32max
BUF_SIZE 2 child (-1),1-s32max
DATA_SOURCE 2 child $0

fs/namei.c vfs_rename() -> may_create_dentry()

Type Parameter Key Value
PARAM_VALUE 1 dir 4096-ptr_max
PARAM_VALUE 1 dir->i_sb 4096-ptr_max
PARAM_VALUE 2 child 4096-ptr_max
PARAM_VALUE 2 child->d_inode 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 child unit_jiffy

fs/namei.c vfs_symlink() -> may_create_dentry()

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 child 4096-ptr_max
PARAM_VALUE 2 child->d_parent->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 child->d_parent->d_inode->i_rwsem.first_waiter->type 0-1
BUF_SIZE 2 child (-1),1-s32max
BUF_SIZE 2 child (-1),1-s32max
DATA_SOURCE 0 idmap $0
DATA_SOURCE 1 dir $1
DATA_SOURCE 2 child $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 dir->i_mode 0-u16max
USER_DATA 1 dir->i_size (-9223372036854775807)-(-4),0-s64max

fs/btrfs/ioctl.c btrfs_mksubvol() -> may_create_dentry()

Type Parameter Key Value
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 child 4096-ptr_max
DATA_SOURCE 0 idmap $1
DATA_SOURCE 2 child r start_creating_killable