Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/ceph/export.c __get_snap_name() -> ceph_alloc_readdir_reply_buffer()

Type Parameter Key Value
PARAM_VALUE 0 req 4096-ptr_max
PARAM_VALUE 0 req->r_completion.done 0
PARAM_VALUE 0 req->r_completion.wait.lock.magic 3735899821
PARAM_VALUE 0 req->r_completion.wait.lock.owner (-1)
PARAM_VALUE 0 req->r_completion.wait.lock.owner_cpu u32max
PARAM_VALUE 0 req->r_completion.wait.task_list.next 4096-ptr_max
PARAM_VALUE 0 req->r_completion.wait.task_list.next->next 4096-ptr_max
PARAM_VALUE 0 req->r_completion.wait.task_list.prev 4096-ptr_max
PARAM_VALUE 0 req->r_completion.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 req->r_completion.wait.task_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 req->r_direct_mode 2
PARAM_VALUE 0 req->r_feature_needed (-1)
PARAM_VALUE 0 req->r_fill_mutex.dep_map->name 0-255
PARAM_VALUE 0 req->r_fill_mutex.first_waiter 0
PARAM_VALUE 0 req->r_fill_mutex.magic 4096-ptr_max
PARAM_VALUE 0 req->r_fill_mutex.osq.tail.counter 0
PARAM_VALUE 0 req->r_fill_mutex.owner.counter 0
PARAM_VALUE 0 req->r_fmode (-1)
PARAM_VALUE 0 req->r_kref.refcount.refs.counter 1
PARAM_VALUE 0 req->r_op 1026
PARAM_VALUE 0 req->r_resend_mds (-1)
PARAM_VALUE 0 req->r_safe_completion.done 0
PARAM_VALUE 0 req->r_safe_completion.wait.lock.magic 3735899821
PARAM_VALUE 0 req->r_safe_completion.wait.lock.owner (-1)
PARAM_VALUE 0 req->r_safe_completion.wait.lock.owner_cpu u32max
PARAM_VALUE 0 req->r_safe_completion.wait.task_list.next 4096-ptr_max
PARAM_VALUE 0 req->r_safe_completion.wait.task_list.next->next 4096-ptr_max
PARAM_VALUE 0 req->r_safe_completion.wait.task_list.prev 4096-ptr_max
PARAM_VALUE 0 req->r_safe_completion.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 req->r_safe_completion.wait.task_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_dir_item.next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_dir_item.next->next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_dir_item.prev 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_dir_item.prev->next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_dir_item.prev->prev 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_item.next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_item.next->next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_item.prev 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_item.prev->next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_item.prev->prev 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_target_item.next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_target_item.next->next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_target_item.prev 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_target_item.prev->next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_target_item.prev->prev 4096-ptr_max
PARAM_VALUE 0 req->r_wait.next 4096-ptr_max
PARAM_VALUE 0 req->r_wait.next->next 4096-ptr_max
PARAM_VALUE 0 req->r_wait.prev 4096-ptr_max
PARAM_VALUE 0 req->r_wait.prev->next 4096-ptr_max
PARAM_VALUE 0 req->r_wait.prev->prev 4096-ptr_max
PARAM_VALUE 1 dir 4096-ptr_max
PARAM_VALUE 1 dir->i_sb 4096-ptr_max
DATA_SOURCE 0 req r ceph_mdsc_create_request
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 req->r_unsafe_dir->i_mapping->host->i_bytes
HALF_LOCKED2 &child->d_lockref.lock

fs/ceph/dir.c ceph_readdir() -> ceph_alloc_readdir_reply_buffer()

Type Parameter Key Value
PARAM_VALUE 0 req 4096-ptr_max
PARAM_VALUE 0 req->r_completion.done 0
PARAM_VALUE 0 req->r_completion.wait.lock.magic 3735899821
PARAM_VALUE 0 req->r_completion.wait.lock.owner (-1)
PARAM_VALUE 0 req->r_completion.wait.lock.owner_cpu u32max
PARAM_VALUE 0 req->r_completion.wait.task_list.next 4096-ptr_max
PARAM_VALUE 0 req->r_completion.wait.task_list.next->next 4096-ptr_max
PARAM_VALUE 0 req->r_completion.wait.task_list.prev 4096-ptr_max
PARAM_VALUE 0 req->r_completion.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 req->r_completion.wait.task_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 req->r_direct_mode 2
PARAM_VALUE 0 req->r_feature_needed (-1)
PARAM_VALUE 0 req->r_fill_mutex.dep_map->name 0-255
PARAM_VALUE 0 req->r_fill_mutex.first_waiter 0
PARAM_VALUE 0 req->r_fill_mutex.magic 4096-ptr_max
PARAM_VALUE 0 req->r_fill_mutex.osq.tail.counter 0
PARAM_VALUE 0 req->r_fill_mutex.owner.counter 0
PARAM_VALUE 0 req->r_fmode (-1)
PARAM_VALUE 0 req->r_kref.refcount.refs.counter 1
PARAM_VALUE 0 req->r_op 773,1026
PARAM_VALUE 0 req->r_resend_mds (-1)
PARAM_VALUE 0 req->r_safe_completion.done 0
PARAM_VALUE 0 req->r_safe_completion.wait.lock.magic 3735899821
PARAM_VALUE 0 req->r_safe_completion.wait.lock.owner (-1)
PARAM_VALUE 0 req->r_safe_completion.wait.lock.owner_cpu u32max
PARAM_VALUE 0 req->r_safe_completion.wait.task_list.next 4096-ptr_max
PARAM_VALUE 0 req->r_safe_completion.wait.task_list.next->next 4096-ptr_max
PARAM_VALUE 0 req->r_safe_completion.wait.task_list.prev 4096-ptr_max
PARAM_VALUE 0 req->r_safe_completion.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 req->r_safe_completion.wait.task_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_dir_item.next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_dir_item.next->next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_dir_item.prev 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_dir_item.prev->next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_dir_item.prev->prev 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_item.next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_item.next->next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_item.prev 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_item.prev->next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_item.prev->prev 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_target_item.next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_target_item.next->next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_target_item.prev 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_target_item.prev->next 4096-ptr_max
PARAM_VALUE 0 req->r_unsafe_target_item.prev->prev 4096-ptr_max
PARAM_VALUE 0 req->r_wait.next 4096-ptr_max
PARAM_VALUE 0 req->r_wait.next->next 4096-ptr_max
PARAM_VALUE 0 req->r_wait.prev 4096-ptr_max
PARAM_VALUE 0 req->r_wait.prev->next 4096-ptr_max
PARAM_VALUE 0 req->r_wait.prev->prev 4096-ptr_max
PARAM_VALUE 1 dir 4096-ptr_max
PARAM_VALUE 1 dir->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 dir->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 dir->i_op->readlink 0,4096-ptr_max
PARAM_VALUE 1 dir->i_sb->s_cop 4096-ptr_max
PARAM_VALUE 1 dir->i_sb->s_cop->empty_dir 0,86,661756434209751040,4392966320616476672,5234023279986843648,8614756098313990144
PARAM_VALUE 1 dir->i_sb->s_cop->get_context 0,706,17350455714160640,4513809449498124288,5149251875611672576,7067778626864828416
PARAM_VALUE 1 dir->i_sb->s_cop->inode_info_offs 1632,1808,2632,2648,2704,2712
PARAM_VALUE 1 dir->i_sb->s_cop->set_context 0,67,317457138841939968,3250154607523569664,5979066299606671360,6756104566897242112
PARAM_VALUE 1 dir->i_sb->s_export_op->encode_fh 0,2,4096-ptr_max
DATA_SOURCE 0 req r ceph_mdsc_create_request
BIT_INFO 0 req->r_op 0x0,0x707
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem