Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

fs/smb/server/smb_common.c ksmbd_smb_check_shared_mode() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 &fp->node 1
LOCK2 &curr_fp->f_ci->m_lock
TYPE_LOCK (struct ksmbd_inode)->m_lock

fs/smb/server/smb_common.c ksmbd_smb_check_shared_mode() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
PARAM_VALUE 0 fp->stream.name 1-u64max
CAPPED_DATA 0 fp 1
CAPPED_DATA 0 &fp->f_ci->m_fp_list 1
CAPPED_DATA 0 &fp->f_ci->m_lock 1
DATA_SOURCE 0 fp $1
LOCK2 0 &fp->f_ci->m_lock
TYPE_LOCK (struct ksmbd_inode)->m_lock

fs/smb/server/smb_common.c ksmbd_smb_check_shared_mode() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 fp->attrib_only 1
CAPPED_DATA 0 &fp->node 1
LOCK2 &curr_fp->f_ci->m_lock
TYPE_LOCK (struct ksmbd_inode)->m_lock

fs/smb/server/smb_common.c ksmbd_smb_check_shared_mode() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
PARAM_VALUE 0 fp->stream.name 1-u64max
CAPPED_DATA 0 fp 1
CAPPED_DATA 0 fp->attrib_only 1
CAPPED_DATA 0 &fp->f_ci->m_fp_list 1
CAPPED_DATA 0 &fp->f_ci->m_lock 1
DATA_SOURCE 0 fp $1
LOCK2 0 &fp->f_ci->m_lock
TYPE_LOCK (struct ksmbd_inode)->m_lock

fs/smb/server/vfs_cache.c __ksmbd_close_fd() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
BUF_SIZE 0 fp->readdir_data.private (-1),40
CAPPED_DATA 0 fp 1
CAPPED_DATA 0 fp->f_ci 1
CAPPED_DATA 0 &fp->lock_list 1
DATA_SOURCE 0 fp $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 fp->filp->f_pos s64min-s64max[c][u]
USER_DATA 0 fp->stream.pos 1-65536[c]
NO_OVERFLOW_SIMPLE 0 fp->filp->f_path.dentry->d_inode->i_size
NO_OVERFLOW_SIMPLE 0 fp->filp->f_path.dentry->dentry->d_inode->i_size
NO_OVERFLOW_SIMPLE 0 fp->filp->f_path.dentry->moved->d_inode->i_size
NO_OVERFLOW_SIMPLE 0 fp->filp->f_path.moved->d_inode->i_size

fs/smb/server/vfs_cache.c __ksmbd_inode_close() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
BUF_SIZE 0 fp->readdir_data.private (-1),40
DATA_SOURCE 0 fp $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 fp->filp->f_pos s64min-s64max[c][u]
USER_DATA 0 fp->stream.pos 1-65536[c]
NO_OVERFLOW_SIMPLE 0 fp->filp->f_path.d_inode->i_size
NO_OVERFLOW_SIMPLE 0 fp->filp->f_path.dentry->d_inode->i_size
NO_OVERFLOW_SIMPLE 0 fp->filp->f_path.dentry->dentry->d_inode->i_size
NO_OVERFLOW_SIMPLE 0 fp->filp->f_path.dentry->moved->d_inode->i_size
NO_OVERFLOW_SIMPLE 0 fp->filp->f_path.moved->d_inode->i_size

fs/smb/server/vfs_cache.c ksmbd_fd_set_delete_on_close() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
DATA_SOURCE 0 fp $0
LOCK2 &ci->m_lock
TYPE_LOCK (struct ksmbd_inode)->m_lock

fs/smb/server/vfs_cache.c ksmbd_has_stream_without_delete_share() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 fp->persistent_id 1
CAPPED_DATA 0 fp->tcon 1
DATA_SOURCE 0 fp $0
BIT_INFO 0 fp->daccess 0x10000,0xffffffff
BIT_INFO 0 fp->f_ci->m_fattr 0x0,0xfffffffe
LOCK2 &pool->lock

fs/smb/server/vfs_cache.c ksmbd_has_stream_without_delete_share() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 &fp->node 1
LOCK2 &ci->m_lock
LOCK2 &pool->lock
TYPE_LOCK (struct ksmbd_inode)->m_lock

fs/smb/server/smb2pdu.c find_file_posix_info() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 fp->persistent_id 1
CAPPED_DATA 0 fp->tcon 1
DATA_SOURCE 0 fp $1
BIT_INFO 0 fp->daccess 0x80,0xffffffff
LOCK2 &pool->lock

fs/smb/server/smb2pdu.c get_file_all_info() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 fp->filp->f_path.dentry 1
CAPPED_DATA 0 fp->persistent_id 1
CAPPED_DATA 0 fp->tcon 1
DATA_SOURCE 0 fp $2
BIT_INFO 0 fp->daccess 0x80,0xffffffff
LOCK2 &pool->lock

fs/smb/server/smb2pdu.c get_file_all_info() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 fp->filp->f_path.dentry 1
CAPPED_DATA 0 fp->persistent_id 1
CAPPED_DATA 0 fp->tcon 1
DATA_SOURCE 0 fp $2
BIT_INFO 0 fp->daccess 0x80,0xffffffffffffffff
LOCK2 &pool->lock

fs/smb/server/smb2pdu.c get_file_network_open_info() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 fp->persistent_id 1
CAPPED_DATA 0 fp->tcon 1
DATA_SOURCE 0 fp $1
BIT_INFO 0 fp->daccess 0x80,0xffffffff
LOCK2 &pool->lock

fs/smb/server/smb2pdu.c get_file_position_info() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 fp->persistent_id 1
CAPPED_DATA 0 fp->tcon 1
DATA_SOURCE 0 fp $1
LOCK2 &pool->lock

fs/smb/server/smb2pdu.c get_file_standard_info() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 fp->persistent_id 1
CAPPED_DATA 0 fp->tcon 1
DATA_SOURCE 0 fp $1
LOCK2 &pool->lock

fs/smb/server/smb2pdu.c set_end_of_file_info() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 fp->persistent_id 1
CAPPED_DATA 0 fp->tcon 1
DATA_SOURCE 0 fp $1
BIT_INFO 0 fp->daccess 0x2,0xffffffff
LOCK2 &pool->lock

fs/smb/server/smb2pdu.c set_file_allocation_info() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 fp->persistent_id 1
CAPPED_DATA 0 fp->tcon 1
DATA_SOURCE 0 fp $1
BIT_INFO 0 fp->daccess 0x2,0xffffffff
LOCK2 &pool->lock

fs/smb/server/smb2pdu.c set_file_position_info() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 fp->persistent_id 1
CAPPED_DATA 0 fp->tcon 1
DATA_SOURCE 0 fp $0
LOCK2 &pool->lock

fs/smb/server/vfs.c ksmbd_vfs_copy_file_ranges() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 fp->persistent_id 1
DATA_SOURCE 0 fp $1
LOCK2 &pool->lock

fs/smb/server/vfs.c ksmbd_vfs_copy_file_ranges() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 fp->persistent_id 1
CAPPED_DATA 0 fp->tcon 1
DATA_SOURCE 0 fp $2
LOCK2 &pool->lock

fs/smb/server/vfs.c ksmbd_vfs_read() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 fp->persistent_id 1
CAPPED_DATA 0 fp->tcon 1
DATA_SOURCE 0 fp $1
LOCK2 &pool->lock

fs/smb/server/vfs.c ksmbd_vfs_read() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 fp->persistent_id 1
CAPPED_DATA 0 fp->tcon 1
DATA_SOURCE 0 fp $1
LOCK2 &pool->lock

fs/smb/server/vfs.c ksmbd_vfs_write() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 fp->persistent_id 1
CAPPED_DATA 0 fp->tcon 1
DATA_SOURCE 0 fp $1
LOCK2 &pool->lock

fs/smb/server/vfs.c ksmbd_vfs_write() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
CAPPED_DATA 0 fp->persistent_id 1
CAPPED_DATA 0 fp->tcon 1
DATA_SOURCE 0 fp $1
LOCK2 &pool->lock

fs/smb/server/oplock.c opinfo_count() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
DATA_SOURCE 0 fp $0

fs/smb/server/oplock.c opinfo_count_dec() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
BUF_SIZE 0 fp->readdir_data.private (-1),40
DATA_SOURCE 0 fp $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 fp->filp->f_pos s64min-s64max[c][u]
USER_DATA 0 fp->stream.pos 1-65536[c]
NO_OVERFLOW_SIMPLE 0 fp->filp->f_path.d_inode->i_size
NO_OVERFLOW_SIMPLE 0 fp->filp->f_path.dentry->d_inode->i_size
NO_OVERFLOW_SIMPLE 0 fp->filp->f_path.dentry->moved->d_inode->i_size
NO_OVERFLOW_SIMPLE 0 fp->filp->f_path.moved->d_inode->i_size

fs/smb/server/oplock.c opinfo_count_inc() -> ksmbd_stream_fd()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
PARAM_VALUE 0 fp->stream.name 1-u64max
CAPPED_DATA 0 fp 1
CAPPED_DATA 0 fp->filp 1
DATA_SOURCE 0 fp $0