Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/overlayfs/dir.c ovl_do_remove() -> ovl_cache_free()

Type Parameter Key Value
PARAM_VALUE 0 list 2946338116376350720
PARAM_VALUE 0 list->next 2946338116376350720
PARAM_VALUE 0 list->prev 2946338116376350720
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &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
HALF_LOCKED2 &target->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/overlayfs/dir.c ovl_rename() -> ovl_cache_free()

Type Parameter Key Value
PARAM_VALUE 0 list 6027515394299723776
PARAM_VALUE 0 list->next 6027515394299723776
PARAM_VALUE 0 list->prev 6027515394299723776
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

fs/overlayfs/readdir.c ovl_cache_get() -> ovl_cache_free()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PARAM_VALUE 0 list->next 4096-ptr_max
PARAM_VALUE 0 list->prev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/overlayfs/readdir.c ovl_cache_get_impure() -> ovl_cache_free()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PARAM_VALUE 0 list->next 4096-ptr_max
PARAM_VALUE 0 list->prev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/overlayfs/readdir.c ovl_cache_put() -> ovl_cache_free()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &inode->i_rwsem

fs/overlayfs/readdir.c ovl_dir_cache_free() -> ovl_cache_free()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/overlayfs/readdir.c ovl_indexdir_cleanup() -> ovl_cache_free()

Type Parameter Key Value
PARAM_VALUE 0 list 5562425105274605568
PARAM_VALUE 0 list->next 5562425105274605568
PARAM_VALUE 0 list->prev 5562425105274605568
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 &index->d_lockref.lock
HALF_LOCKED2 &indexdir->d_inode->i_rwsem
HALF_LOCKED2 &ofs->workdir->d_lockref.lock
HALF_LOCKED2 &sb->s_umount

fs/overlayfs/readdir.c ovl_workdir_cleanup_recurse() -> ovl_cache_free()

Type Parameter Key Value
PARAM_VALUE 0 list 8128191898496126976
PARAM_VALUE 0 list->next 8128191898496126976
PARAM_VALUE 0 list->prev 8128191898496126976
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ofs->workdir->d_lockref.lock
HALF_LOCKED2 &parent->d_inode->i_rwsem
HALF_LOCKED2 &path->dentry->d_inode->i_rwsem
HALF_LOCKED2 &sb->s_umount
TYPE_LOCK (struct inode)->i_rwsem