Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

fs/afs/inode.c afs_evict_inode() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
CAPPED_DATA 0 vnode->fid.vnode 1
CAPPED_DATA 0 &vnode->wb_keys 1
DATA_SOURCE 0 vnode r AFS_FS_I
RX_PATH
TASK_NOT_RUNNING

fs/afs/inode.c afs_setattr() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
DATA_SOURCE 0 vnode r AFS_FS_I
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock

fs/afs/inode.c afs_setattr() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
CAPPED_DATA 0 &vnode->validate_lock 1
DATA_SOURCE 0 vnode r AFS_FS_I
NOSPEC 0 vnode->netfs._zero_point
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 vnode->netfs._zero_point 1-s32max[c]
LOCK2 0 &vnode->validate_lock
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct afs_vnode)->validate_lock

fs/afs/inode.c afs_setattr() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
CAPPED_DATA 0 &vnode->validate_lock 1
DATA_SOURCE 0 vnode r AFS_FS_I
NOSPEC 0 vnode->netfs._zero_point
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 vnode->netfs._zero_point 1-s32max[c]
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock

fs/afs/inode.c afs_setattr_edit_file() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
NOSPEC 0 vnode->netfs._remote_i_size
NOSPEC 0 vnode->netfs._zero_point
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 vnode->netfs._remote_i_size (-9223372036854775807)-(-4096),0-s64max
USER_DATA 0 vnode->netfs._zero_point 1-s32max[c]
HALF_LOCKED2 &dvnode->rmdir_lock
HALF_LOCKED2 &target->i_rwsem

fs/afs/file.c afs_invalidate_cache() -> afs_vnode_cache()

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

fs/afs/file.c afs_open() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
CAPPED_DATA 0 vnode->volume->cell->key_desc 1
DATA_SOURCE 0 vnode r AFS_FS_I
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 vnode->volume->cell->anonymous_key->quotalen

fs/afs/file.c afs_release() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
DATA_SOURCE 0 vnode r AFS_FS_I
RX_PATH
TASK_NOT_RUNNING

fs/afs/file.c afs_release() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
DATA_SOURCE 0 vnode r AFS_FS_I
RX_PATH
TASK_NOT_RUNNING

fs/afs/file.c afs_set_i_size() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
CAPPED_DATA 0 vnode 1
DATA_SOURCE 0 vnode $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &vnode->validate_lock

fs/afs/validation.c afs_invalidate_cache() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
DATA_SOURCE 0 vnode $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 vnode->volume->cell->anonymous_key->quotalen
LOCK2 0 &vnode->validate_lock
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &target->i_rwsem
TYPE_LOCK (struct afs_vnode)->validate_lock

fs/afs/symlink.c afs_read_symlink() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
DATA_SOURCE 0 vnode $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &vnode->validate_lock
TYPE_LOCK (struct afs_vnode)->validate_lock

fs/afs/symlink.c afs_read_symlink() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
DATA_SOURCE 0 vnode $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &vnode->validate_lock
TYPE_LOCK (struct afs_vnode)->validate_lock

fs/afs/dir.c afs_create() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
DATA_SOURCE 0 vnode r AFS_FS_I
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dir->i_rwsem

fs/afs/dir.c afs_create_edit_dir() -> afs_vnode_cache()

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

fs/afs/dir.c afs_dir_unuse_cookie() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
CAPPED_DATA 0 vnode 1
DATA_SOURCE 0 vnode $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &target->i_rwsem

fs/afs/dir.c afs_dir_unuse_cookie() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
CAPPED_DATA 0 vnode 1
DATA_SOURCE 0 vnode $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &target->i_rwsem

fs/afs/dir.c afs_invalidate_cache() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
DATA_SOURCE 0 vnode $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &vnode->validate_lock
TYPE_LOCK (struct afs_vnode)->validate_lock

fs/afs/dir.c afs_link() -> afs_vnode_cache()

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

fs/afs/dir.c afs_mkdir() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
DATA_SOURCE 0 vnode r AFS_FS_I
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dentry->d_lockref.lock

fs/afs/dir.c afs_read_single() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
DATA_SOURCE 0 vnode $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &vnode->validate_lock
TYPE_LOCK (struct afs_vnode)->validate_lock

fs/afs/dir.c afs_read_single() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
DATA_SOURCE 0 vnode $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &vnode->validate_lock
TYPE_LOCK (struct afs_vnode)->validate_lock

fs/afs/dir.c afs_rename() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
DATA_SOURCE 0 vnode r AFS_FS_I
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

fs/afs/dir.c afs_rename() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
DATA_SOURCE 0 vnode r AFS_FS_I
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

fs/afs/dir.c afs_rename_edit_dir() -> afs_vnode_cache()

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

fs/afs/dir.c afs_rename_edit_dir() -> afs_vnode_cache()

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

fs/afs/dir.c afs_rmdir() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
DATA_SOURCE 0 vnode r AFS_FS_I
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dentry->d_sb->s_vfs_rename_mutex
HALF_LOCKED2 &dir->d_inode->i_rwsem
HALF_LOCKED2 &dir->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/afs/dir.c afs_rmdir_edit_dir() -> afs_vnode_cache()

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

fs/afs/dir.c afs_symlink() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
DATA_SOURCE 0 vnode r AFS_FS_I
RX_PATH
TASK_NOT_RUNNING

fs/afs/dir.c afs_unlink() -> afs_vnode_cache()

Type Parameter Key Value
PARAM_VALUE 0 vnode 4096-ptr_max
DATA_SOURCE 0 vnode r AFS_FS_I
RX_PATH
TASK_NOT_RUNNING
LOCK2 &target->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dentry->d_sb->s_vfs_rename_mutex
HALF_LOCKED2 &dir->d_inode->i_rwsem
HALF_LOCKED2 &dir->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/afs/dir.c afs_unlink_edit_dir() -> afs_vnode_cache()

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