Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/cachefiles/interface.c cachefiles_invalidate_cookie() -> cachefiles_bury_object()

Type Parameter Key Value
PARAM_VALUE 0 cache 4096-ptr_max
PARAM_VALUE 1 object 4096-ptr_max
PARAM_VALUE 1 object->content_info 0
PARAM_VALUE 1 object->cookie 4096-ptr_max
PARAM_VALUE 1 object->file 4096-ptr_max
PARAM_VALUE 1 object->file->f_op 4096-ptr_max
PARAM_VALUE 1 object->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 object->ondemand->state 0,2-4294967295
PARAM_VALUE 1 object->volume 4096-ptr_max
PARAM_VALUE 1 object->volume->cache 4096-ptr_max
PARAM_VALUE 1 object->volume->cache->msg_id_next 0-4294967295
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 rep 4096-ptr_max
PARAM_VALUE 4 why 2
BUF_SIZE 3 rep (-1),1-s32max
BUF_SIZE 3 rep (-1),1-s32max
CAPPED_DATA 2 dir 1
DATA_SOURCE 3 rep r start_removing_dentry
NOCHECK_CALL
LOCK2 2 &dir->d_inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

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

Type Parameter Key Value
PARAM_VALUE 0 cache 4096-ptr_max
PARAM_VALUE 0 cache->daemon_mutex.dep_map->name 0-255
PARAM_VALUE 0 cache->daemon_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 cache->daemon_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 cache->daemon_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 cache->daemon_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 cache->daemon_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 cache->daemon_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 cache->daemon_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 object 0
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->d_children->first->pprev 1-u64max
PARAM_VALUE 2 dir->d_children.first 4096-ptr_max
PARAM_VALUE 2 dir->d_children.first->pprev 0
PARAM_VALUE 2 dir->d_inode->i_lock.rlock.dep_map->name 0-255
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_sb 4096-ptr_max
PARAM_VALUE 2 dir->d_sb->__s_d_op 0,4096-ptr_max
PARAM_VALUE 2 dir->d_sb->s_fs_info->s_bmap_bits 0-4294967295
PARAM_VALUE 2 dir->d_sb->s_fs_info->s_bmap_count 0-4294967295
PARAM_VALUE 2 dir->d_sb->s_fs_info->s_data_blksize 0-4294967295
PARAM_VALUE 2 dir->d_sb->s_fs_info->s_hashsize s32min-s32max
PARAM_VALUE 2 dir->d_sb->s_fs_info->s_last_bmap 0-4294967295
PARAM_VALUE 2 dir->d_sb->s_fs_info->s_mode 0-u16max
PARAM_VALUE 2 dir->d_sb->s_fs_info->s_partition_size s32min-s32max
PARAM_VALUE 2 dir->d_sb->s_fs_info->s_reserved s32min-s32max
PARAM_VALUE 2 dir->d_sb->s_fs_info->s_root_block 0-4294967295
PARAM_VALUE 2 dir->d_sb->s_fs_info->work_queued s32min-s32max
PARAM_VALUE 3 rep 4096-ptr_max
PARAM_VALUE 3 rep->d_inode->i_flags 0,131072-u32max
PARAM_VALUE 3 rep->d_inode->i_rwsem.dep_map->name 0-255
PARAM_VALUE 3 rep->d_inode->i_rwsem.first_waiter->handoff_set 1
PARAM_VALUE 3 rep->d_inode->i_rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 3 rep->d_inode->i_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 3 rep->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 4 why 5
BUF_SIZE 0 cache s32min-(-2),1-s32max
BUF_SIZE 0 cache s32min-(-2),1-s32max
BUF_SIZE 3 rep (-1),1-s32max
BUF_SIZE 3 rep (-1),1-s32max
DATA_SOURCE 0 cache $0
DATA_SOURCE 2 dir $1
DATA_SOURCE 3 rep r cachefiles_lookup_for_cull
LOCK2 0 &cache->daemon_mutex
TYPE_LOCK (struct cachefiles_cache)->daemon_mutex

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

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->cache_link.next->next 4096-ptr_max
PARAM_VALUE 1 object->cache_link.prev 4096-ptr_max
PARAM_VALUE 1 object->cache_link.prev->next 4096-ptr_max
PARAM_VALUE 1 object->cache_link.prev->prev 4096-ptr_max
PARAM_VALUE 1 object->cookie 4096-ptr_max
PARAM_VALUE 1 object->cookie->key_len 0-252
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->d_name 4096-ptr_max
PARAM_VALUE 1 object->ref.refs.counter 1
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 rep 4096-ptr_max
PARAM_VALUE 4 why 1
BUF_SIZE 1 object->volume 2088
BUF_SIZE 3 rep (-1),1-s32max
BUF_SIZE 3 rep (-1),1-s32max
CAPPED_DATA 1 object->cookie->key_len 1
CAPPED_DATA 2 dir 1
DATA_SOURCE 1 object $0
DATA_SOURCE 3 rep r start_removing_dentry
TERMINATED 1 object->d_name 1
LOCK2 &pool->lock
LOCK2 2 &dir->d_inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/cachefiles/volume.c cachefiles_acquire_volume() -> cachefiles_bury_object()

Type Parameter Key Value
PARAM_VALUE 0 cache 4096-ptr_max
PARAM_VALUE 0 cache->store 4096-ptr_max
PARAM_VALUE 0 cache->store->d_inode 4096-ptr_max
PARAM_VALUE 0 cache->store->d_inode->i_rwsem.dep_map->name 0-255
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->list.next 2624917664208203776
PARAM_VALUE 0 cache->store->d_inode->i_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 cache->store->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 cache->store->d_inode->i_rwsem.osq.tail.counter 0-s32max
PARAM_VALUE 1 object 0
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 rep 4096-ptr_max
PARAM_VALUE 3 rep->d_alias->next->pprev 1-u64max
PARAM_VALUE 3 rep->d_fsdata->active.counter s32min-s32max
PARAM_VALUE 3 rep->d_fsdata->d_flags 0-4294967295
PARAM_VALUE 3 rep->d_fsdata->d_fsdata 0
PARAM_VALUE 3 rep->d_fsdata->d_hash.pprev 0
PARAM_VALUE 3 rep->d_fsdata->d_inode 0
PARAM_VALUE 3 rep->d_fsdata->d_inode->__i_nlink 0-4294967295
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_atime_nsec 0-4294967295
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_blkbits 0-255
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_bytes 0-u16max
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_ctime_nsec 0-4294967295
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_dir_seq 0-4294967295
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_flags 0-4294967295
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_fsnotify_mask 0-4294967295
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_generation 0-4294967295
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_linklen s32min-s32max
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_mode 0-u16max
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_mtime_nsec 0-4294967295
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_nlink 0-4294967295
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_opflags 0-u16max
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_rdev 0-4294967295
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_wb_frn_avg_time 0-u16max
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_wb_frn_history 0-u16max
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_wb_frn_winner s32min-s32max
PARAM_VALUE 3 rep->d_fsdata->d_inode->i_write_hint 0-4294967295
PARAM_VALUE 3 rep->d_fsdata->d_lockref.count s32min-s32max
PARAM_VALUE 3 rep->d_fsdata->d_rcu.next 0
PARAM_VALUE 3 rep->d_fsdata->data->ref.refs.counter s32min-s32max
PARAM_VALUE 3 rep->d_fsdata->head.first 0
PARAM_VALUE 3 rep->d_fsdata->kref.refcount.refs.counter s32min-s32max
PARAM_VALUE 3 rep->d_fsdata->lease_shared_gen 0
PARAM_VALUE 3 rep->d_fsdata->management_timer.flags 0-4294967295
PARAM_VALUE 3 rep->d_fsdata->owner->refcnt.counter 0-s32max
PARAM_VALUE 3 rep->d_fsdata->ref.refs.counter s32min-s32max
PARAM_VALUE 3 rep->d_fsdata->waiters 0
PARAM_VALUE 3 rep->d_hash.pprev 1-u64max
PARAM_VALUE 3 rep->d_inode->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 3 rep->d_op->d_dname 0,4096-ptr_max
PARAM_VALUE 3 rep->d_op->d_iput 0,4096-ptr_max
PARAM_VALUE 3 rep->d_op->d_prune 0,4096-ptr_max
PARAM_VALUE 3 rep->d_op->d_real 0,4096-ptr_max
PARAM_VALUE 3 rep->d_parent 4096-ptr_max
PARAM_VALUE 3 rep->d_parent->d_inode->i_rwsem.dep_map->name 0-255
PARAM_VALUE 3 rep->d_parent->d_inode->i_rwsem.first_waiter->handoff_set 1
PARAM_VALUE 3 rep->d_parent->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 3 rep->d_parent->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 3 rep->d_parent->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 3 rep->d_parent->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 3 rep->d_parent->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 3 rep->d_parent->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 3 rep->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 3 rep->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 3 rep->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 3 rep->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 3 rep->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 3 rep->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 3 rep->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 3 rep->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 3 rep->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 3 rep->d_sb->s_fs_info->lookup_lock.rlock.dep_map->name 0-255
PARAM_VALUE 3 rep->d_sb->s_roots_lock.rlock.dep_map->name 0-255
PARAM_VALUE 3 rep->d_sib->next->pprev 1-u64max
PARAM_VALUE 4 why 6
BUF_SIZE 0 cache s32min-(-2),1-s32max
BUF_SIZE 0 cache s32min-(-2),1-s32max
BUF_SIZE 3 rep (-1),1-s32max
BUF_SIZE 3 rep (-1),1-s32max
CAPPED_DATA 0 cache->store 1
CAPPED_DATA 2 dir 1
CAPPED_DATA 3 rep->d_parent 1
DATA_SOURCE 3 rep r start_removing_dentry
PARAM_COMPARE 0 cache->store == $3->d_parent
PARAM_COMPARE 2 dir == $3->d_parent
PARAM_COMPARE 2 dir == $3->d_parent
NOCHECK_CALL
UNITS 2 dir unit_jiffy
LOCK2 0 &cache->store->d_inode->i_rwsem
LOCK2 2 &dir->d_inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem