Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/cachefiles/namei.c cachefiles_bury_object() -> cachefiles_unlink()

Type Parameter Key Value
PARAM_VALUE 0 cache->graveyard->d_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 cache->store->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 cache->store->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 cache->store->d_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 1 object 0,4096-ptr_max
PARAM_VALUE 1 object->cookie 4096-ptr_max
PARAM_VALUE 1 object->cookie->volume->cache->ops->invalidate_cookie 4096-ptr_max
PARAM_VALUE 1 object->cookie->volume->cache->ops->prepare_to_write 4096-ptr_max
PARAM_VALUE 1 object->volume 4096-ptr_max
PARAM_VALUE 1 object->volume->fanout 4096-ptr_max
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->d_inode->i_rwsem.dep_map->name 0-255
PARAM_VALUE 2 dir->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 dir->d_inode->i_rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 2 dir->d_inode->i_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 2 dir->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 dir->d_inode->i_rwsem.osq.tail.counter 0-s32max
PARAM_VALUE 2 dir->d_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 3 dentry 4096-ptr_max
PARAM_VALUE 3 dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 3 dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 3 dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 3 dentry->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 3 dentry->d_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 3 dentry->d_op->d_dname 0,4096-ptr_max
PARAM_VALUE 3 dentry->d_op->d_iput 0,4096-ptr_max
PARAM_VALUE 3 dentry->d_op->d_prune 0,4096-ptr_max
PARAM_VALUE 3 dentry->d_op->d_real 0,4096-ptr_max
PARAM_VALUE 3 dentry->d_parent 4096-ptr_max
PARAM_VALUE 3 dentry->d_parent->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 3 dentry->d_parent->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 3 dentry->d_parent->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 3 dentry->d_parent->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 3 dentry->d_parent->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 3 dentry->d_parent->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 3 dentry->d_parent->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 3 dentry->d_parent->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 3 dentry->d_parent->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 3 dentry->d_parent->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 3 dentry->d_parent->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 3 dentry->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 3 dentry->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 3 dentry->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 3 dentry->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 3 dentry->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 3 dentry->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 3 dentry->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 3 dentry->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 3 dentry->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 4 why 1-2,5-6
BUF_SIZE 0 cache s32min-(-1),1-s32max
BUF_SIZE 0 cache s32min-(-1),1-s32max
BUF_SIZE 1 object->volume (-1),2088
BUF_SIZE 3 dentry (-1),1-s32max
BUF_SIZE 3 dentry (-1),1-s32max
CAPPED_DATA 2 dir 1
CAPPED_DATA 3 dentry->d_parent 1
DATA_SOURCE 0 cache $0
DATA_SOURCE 1 object $1
DATA_SOURCE 2 dir $2
DATA_SOURCE 3 dentry $3
DATA_SOURCE 4 why $4
PARAM_COMPARE 2 dir == $3->d_parent
PARAM_COMPARE 2 dir == $3->d_parent
HARD_MAX 4 why 6
UNITS 2 dir unit_jiffy
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &cache->daemon_mutex
HALF_LOCKED2 0 &cache->store->d_inode->i_rwsem
HALF_LOCKED2 2 &dir->d_inode->i_rwsem

fs/cachefiles/namei.c cachefiles_commit_tmpfile() -> cachefiles_unlink()

Type Parameter Key Value
PARAM_VALUE 1 object 4096-ptr_max
PARAM_VALUE 1 object->cache_link.next 4096-ptr_max
PARAM_VALUE 1 object->cookie 4096-ptr_max
PARAM_VALUE 1 object->file 1-u64max
PARAM_VALUE 1 object->file->f_path.dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 object->file->f_path.dentry->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 object->ondemand->state 0,3
PARAM_VALUE 1 object->volume 4096-ptr_max
PARAM_VALUE 1 object->volume->fanout 4096-ptr_max
PARAM_VALUE 2 dir->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 dir->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 3 dentry 4096-ptr_max
PARAM_VALUE 3 dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 3 dentry->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 3 dentry->d_parent->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 3 dentry->d_parent->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 4 why 0
BUF_SIZE 1 object 1-s32max
BUF_SIZE 1 object 1-s32max
BUF_SIZE 3 dentry (-1)-s32max
BUF_SIZE 3 dentry (-1)-s32max
DATA_SOURCE 1 object $1
LOCK2 &pool->lock

fs/cachefiles/namei.c cachefiles_delete_object() -> cachefiles_unlink()

Type Parameter Key Value
PARAM_VALUE 1 object 4096-ptr_max
PARAM_VALUE 1 object->cache_link.next 4096-ptr_max
PARAM_VALUE 1 object->cookie 4096-ptr_max
PARAM_VALUE 1 object->file 4096-ptr_max
PARAM_VALUE 1 object->file->f_path.dentry->d_hash.pprev 1-u64max
PARAM_VALUE 1 object->file->f_path.dentry->d_parent 4096-ptr_max
PARAM_VALUE 1 object->ondemand->state 0,3
PARAM_VALUE 1 object->volume 4096-ptr_max
PARAM_VALUE 1 object->volume->fanout 4096-ptr_max
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->d_inode 4096-ptr_max
PARAM_VALUE 2 dir->d_inode->i_rwsem.dep_map->name 0-255
PARAM_VALUE 2 dir->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 dir->d_inode->i_rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 2 dir->d_inode->i_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 2 dir->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 dir->d_inode->i_rwsem.osq.tail.counter 0-s32max
PARAM_VALUE 3 dentry 4096-ptr_max
PARAM_VALUE 3 dentry->d_hash.pprev 1-u64max
PARAM_VALUE 3 dentry->d_parent 4096-ptr_max
PARAM_VALUE 4 why 4
BUF_SIZE 3 dentry (-1),1-s32max
BUF_SIZE 3 dentry (-1),1-s32max
CAPPED_DATA 1 object 1
CAPPED_DATA 2 dir 1
CAPPED_DATA 3 dentry->d_parent 1
DATA_SOURCE 1 object $0
DATA_SOURCE 3 dentry r start_removing_dentry
DATA_SOURCE 4 why $1
PARAM_COMPARE 2 dir == $3->d_parent
PARAM_COMPARE 3 dentry->d_parent == $2
LOCK2 &pool->lock
LOCK2 2 &dir->d_inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem