Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

fs/debugfs/file.c __debugfs_file_get() -> d_unlinked()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
DATA_SOURCE 0 dentry $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dentry->d_inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 dentry->d_inode->i_size

fs/debugfs/file.c debugfs_enter_cancellation() -> d_unlinked()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max

mm/swapfile.c __do_sys_swapon() -> d_unlinked()

Type Parameter Key Value
CAPABLE 0 21
LOCK2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

mm/swapfile.c __do_sys_swapon() -> d_unlinked()

Type Parameter Key Value
CAPABLE 0 21
LOCK2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

security/apparmor/path.c d_namespace_path() -> d_unlinked()

Type Parameter Key Value

fs/d_path.c __do_sys_getcwd() -> d_unlinked()

Type Parameter Key Value
LOCK2 rcu_read

fs/d_path.c __do_sys_getcwd() -> d_unlinked()

Type Parameter Key Value
LOCK2 rcu_read

fs/d_path.c d_path() -> d_unlinked()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
CAPPED_DATA 0 dentry 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dentry unit_jiffy
LOCK2 rcu_read
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &seq->lock
HALF_LOCKED2 global &nfsd_mutex

fs/d_path.c dentry_path() -> d_unlinked()

Type Parameter Key Value
DATA_SOURCE 0 dentry $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dentry unit_jiffy

fs/namespace.c get_mountpoint() -> d_unlinked()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
DATA_SOURCE 0 dentry $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dentry unit_jiffy
HALF_LOCKED2 global &namespace_sem
HALF_LOCKED2 0 &dentry->d_inode->i_rwsem

fs/namespace.c path_pivot_root() -> d_unlinked()

Type Parameter Key Value

fs/notify/fsnotify.c fsnotify_handle_inode_event() -> d_unlinked()

Type Parameter Key Value

fs/dcache.c d_mark_tmpfile() -> d_unlinked()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
CAPPED_DATA 0 dentry->d_name.name 1
CAPPED_DATA 0 dentry->d_shortname.string 1
PARAM_COMPARE 0 dentry->d_name.name == $0->d_shortname.string
RX_PATH
TASK_NOT_RUNNING

fs/dcache.c d_mark_tmpfile_name() -> d_unlinked()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
PARAM_VALUE 0 dentry->d_parent 4096-ptr_max
CAPPED_DATA 0 dentry->d_name.name 1
CAPPED_DATA 0 dentry->d_shortname.string 1
PARAM_COMPARE 0 dentry->d_name.name == $0->d_shortname.string
RX_PATH
TASK_NOT_RUNNING

fs/dcache.c d_set_mounted() -> d_unlinked()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
BUF_SIZE 0 dentry (-1),1-s32max
BUF_SIZE 0 dentry (-1),1-s32max
DATA_SOURCE 0 dentry $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dentry unit_jiffy
LOCK2 global &rename_lock.lock
LOCK2 0 &dentry->d_lockref.lock
HALF_LOCKED2 global &namespace_sem
HALF_LOCKED2 0 &dentry->d_inode->i_rwsem
TYPE_LOCK (struct lockref)->lock
TYPE_LOCK (struct seqlock)->lock