Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 12 files:

Smatch caller information:

fs/smb/client/reparse.c detect_directory_symlink_target() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
PARAM_VALUE 0 cifs_sb->ctx 4096-ptr_max
DATA_SOURCE 0 cifs_sb $0
STR_LEN 0 cifs_sb 4060
STR_LEN 0 cifs_sb 4060
RX_PATH
TASK_NOT_RUNNING

fs/smb/client/cifsacl.c cifs_acl_to_fattr() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
PARAM_VALUE 0 cifs_sb->mnt_cifs_flags.counter s32min-(-1),512-s32max
DATA_SOURCE 0 cifs_sb $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cifs_mount_mutex

fs/smb/client/cifsacl.c cifs_get_acl() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

fs/smb/client/cifsacl.c cifs_set_acl() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dentry->d_lockref.lock

fs/smb/client/cifsacl.c get_cifs_acl_by_fid() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
DATA_SOURCE 0 cifs_sb $0
RX_PATH
TASK_NOT_RUNNING

fs/smb/client/cifsacl.c get_cifs_acl_by_path() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
DATA_SOURCE 0 cifs_sb $0
RX_PATH
TASK_NOT_RUNNING

fs/smb/client/cifsacl.c id_mode_to_cifs_acl() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &direntry->d_inode->i_rwsem
HALF_LOCKED2 &direntry->d_lockref.lock
HALF_LOCKED2 &inode->i_rwsem

fs/smb/client/cifsacl.c set_cifs_acl() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem

fs/smb/client/link.c cifs_hardlink() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/smb/client/link.c cifs_symlink() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

fs/smb/client/smb1ops.c smb_set_file_info() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem

fs/smb/client/readdir.c _initiate_cifs_search() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/smb/client/readdir.c cifs_readdir() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/smb/client/dir.c cifs_atomic_open() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
HALF_LOCKED2 &dir_inode->i_rwsem
HALF_LOCKED2 &direntry->d_lockref.lock

fs/smb/client/dir.c cifs_create() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dir->i_rwsem

fs/smb/client/dir.c cifs_lookup() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &parent_dir_inode->i_rwsem

fs/smb/client/dir.c cifs_mknod() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 _T->lock

fs/smb/client/dir.c cifs_tmpfile() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

fs/smb/client/file.c cifs_open() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

fs/smb/client/file.c cifs_oplock_break() -> cifs_sb_tlink()

Type Parameter Key Value
HALF_LOCKED2 &pool->lock

fs/smb/client/file.c cifs_posix_open() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cfile->fh_mutex

fs/smb/client/ioctl.c cifs_ioctl() -> cifs_sb_tlink()

Type Parameter Key Value

fs/smb/client/ioctl.c cifs_ioctl() -> cifs_sb_tlink()

Type Parameter Key Value
CAPABLE 0 21

fs/smb/client/ioctl.c cifs_ioctl() -> cifs_sb_tlink()

Type Parameter Key Value
CAPABLE 0 21

fs/smb/client/ioctl.c cifs_ioctl() -> cifs_sb_tlink()

Type Parameter Key Value

fs/smb/client/ioctl.c cifs_ioctl() -> cifs_sb_tlink()

Type Parameter Key Value

fs/smb/client/ioctl.c cifs_shutdown() -> cifs_sb_tlink()

Type Parameter Key Value
CAPABLE 0 21

fs/smb/client/smb2inode.c smb2_rename_pending_delete() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dentry->d_sb->s_vfs_rename_mutex
HALF_LOCKED2 &target->i_rwsem

fs/smb/client/smb2inode.c smb2_set_file_info() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem

fs/smb/client/smb2ops.c get_smb2_acl_by_fid() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
DATA_SOURCE 0 cifs_sb $0
RX_PATH
TASK_NOT_RUNNING

fs/smb/client/smb2ops.c get_smb2_acl_by_path() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
DATA_SOURCE 0 cifs_sb $0
RX_PATH
TASK_NOT_RUNNING

fs/smb/client/smb2ops.c set_smb2_acl() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem

fs/smb/client/inode.c __cifs_unlink() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &target->i_rwsem

fs/smb/client/inode.c cifs_do_rename() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

fs/smb/client/inode.c cifs_file_set_size() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &inode->i_rwsem

fs/smb/client/inode.c cifs_get_fattr() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cifs_mount_mutex

fs/smb/client/inode.c cifs_get_unix_fattr() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cifs_mount_mutex

fs/smb/client/inode.c cifs_mkdir() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &direntry->d_lockref.lock

fs/smb/client/inode.c cifs_rename2() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

fs/smb/client/inode.c cifs_rename_pending_delete() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dentry->d_sb->s_vfs_rename_mutex
HALF_LOCKED2 &target->i_rwsem

fs/smb/client/inode.c cifs_rmdir() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &direntry->d_inode->i_rwsem

fs/smb/client/inode.c cifs_setattr_unix() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &direntry->d_inode->i_rwsem
HALF_LOCKED2 &direntry->d_lockref.lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock

fs/smb/client/inode.c cifs_sfu_mode() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
PARAM_VALUE 0 cifs_sb->mnt_cifs_flags.counter s32min-(-1),128-s32max
DATA_SOURCE 0 cifs_sb $2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cifs_mount_mutex

fs/smb/client/inode.c cifs_sfu_type() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
PARAM_VALUE 0 cifs_sb->mnt_cifs_flags.counter s32min-(-1),128-s32max
DATA_SOURCE 0 cifs_sb $2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cifs_mount_mutex

fs/smb/client/inode.c smb311_posix_get_fattr() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cifs_mount_mutex

fs/smb/client/xattr.c cifs_listxattr() -> cifs_sb_tlink()

Type Parameter Key Value
PARAM_VALUE 0 cifs_sb 4096-ptr_max
TASK_NOT_RUNNING

fs/smb/client/xattr.c cifs_xattr_get() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

fs/smb/client/xattr.c cifs_xattr_set() -> cifs_sb_tlink()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &inode->i_rwsem