Defined in 1 files as a function:

Referenced in 12 files:

Smatch caller information:

fs/autofs/expire.c should_expire() -> d_is_symlink()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
DATA_SOURCE 0 dentry $0
HALF_LOCKED2 &found->d_lockref.lock
HALF_LOCKED2 0 &dentry->d_lockref.lock

fs/namei.c do_file_open_root() -> d_is_symlink()

Type Parameter Key Value

fs/namei.c step_into() -> d_is_symlink()

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 $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 dentry->__d_name.hash 0-u32max[c]
USER_DATA 0 dentry->d_parent->__d_name.hash 0-u32max[c]
USER_DATA 0 dentry->d_sb->s_flags 0-u64max[c]
USER_DATA 0 *dentry->__d_name.name 0-255
USER_DATA 0 *dentry->d_parent->__d_name.name 0-255
NO_OVERFLOW_SIMPLE 0 dentry->d_inode->i_size
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize_bits
USER_PTR 0 dentry->__d_name.name

fs/namei.c step_into_slowpath() -> d_is_symlink()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 dentry->__d_name.hash 0-u32max[c]

fs/namei.c vfs_get_link() -> d_is_symlink()

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
RX_PATH
TASK_NOT_RUNNING

fs/namei.c vfs_readlink() -> d_is_symlink()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
BUF_SIZE 0 dentry (-1)-s32max
BUF_SIZE 0 dentry (-1)-s32max
CAPPED_DATA 0 dentry 1
DATA_SOURCE 0 dentry $0

fs/overlayfs/util.c ovl_dentry_weird() -> d_is_symlink()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
BUF_SIZE 0 dentry (-1)-s32max
BUF_SIZE 0 dentry (-1)-s32max
DATA_SOURCE 0 dentry $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize_bits

fs/stat.c do_readlinkat() -> d_is_symlink()

Type Parameter Key Value

fs/namespace.c do_add_mount() -> d_is_symlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dentry unit_jiffy

fs/nfsd/vfs.c nfsd_readlink() -> d_is_symlink()

Type Parameter Key Value

fs/autofs/root.c autofs_d_automount() -> d_is_symlink()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 dentry->__d_name.hash 0-u32max[c]
USER_PTR 0 dentry->__d_name.name
LOCK2 &sbi->fs_lock
HALF_LOCKED2 &path->dentry->d_lockref.lock
TYPE_LOCK (struct autofs_sb_info)->fs_lock

fs/autofs/root.c autofs_d_manage() -> d_is_symlink()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 dentry->__d_name.hash 0-u32max[c]
USER_PTR 0 dentry->__d_name.name
LOCK2 &sbi->fs_lock
HALF_LOCKED2 &path->dentry->d_lockref.lock
TYPE_LOCK (struct autofs_sb_info)->fs_lock

fs/smb/server/vfs.c ksmbd_vfs_rename() -> d_is_symlink()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
LOCK2 &pool->lock

fs/xfs/xfs_handle.c xfs_readlink_by_handle() -> d_is_symlink()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
CAPPED_DATA 0 dentry 1
DATA_SOURCE 0 dentry r xfs_handlereq_to_dentry
CAPABLE 0 21

fs/nfsd/nfsfh.c check_pseudo_root() -> d_is_symlink()

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
RX_PATH
TASK_NOT_RUNNING

fs/ceph/file.c ceph_atomic_open() -> d_is_symlink()

Type Parameter Key Value
PARAM_VALUE 0 dentry 4096-ptr_max
BUF_SIZE 0 dentry (-1)-s32max
BUF_SIZE 0 dentry (-1)-s32max
DATA_SOURCE 0 dentry $1 [m]
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 dentry->d_sb->s_blocksize_bits
UNITS 0 dentry unit_jiffy
HALF_LOCKED2 &dir_inode->i_rwsem
HALF_LOCKED2 &dn->d_lockref.lock
HALF_LOCKED2 0 &dentry->d_lockref.lock