Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/ceph/caps.c __ceph_caps_issued() -> __cap_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 cap 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 cap unit_byte
HALF_LOCKED2 &ci->i_ceph_lock
HALF_LOCKED2 &mdsc->snap_rwsem

fs/ceph/caps.c __ceph_caps_issued_mask() -> __cap_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 cap 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 cap unit_byte
LOCK2 &ci->i_ceph_lock
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &mdsc->snap_rwsem
HALF_LOCKED2 &req->r_fill_mutex
HALF_LOCKED2 &session->s_mutex
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock

fs/ceph/caps.c __ceph_caps_issued_mask() -> __cap_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 cap 4096-ptr_max
PARAM_VALUE 0 cap->session->s_cap_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 cap->session->s_caps.prev 4096-ptr_max
PARAM_VALUE 0 cap->session->s_caps.prev->next 4096-ptr_max
PARAM_VALUE 0 cap->session->s_caps.prev->next->next 4096-ptr_max
PARAM_VALUE 0 cap->session->s_mdsc 4096-ptr_max
PARAM_VALUE 0 cap->session->s_mdsc->fsc 4096-ptr_max
PARAM_VALUE 0 cap->session_caps.next->prev 4096-ptr_max
PARAM_VALUE 0 cap->session_caps.prev->next 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 cap unit_byte
LOCK2 &ci->i_ceph_lock
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock

fs/ceph/caps.c __ceph_caps_issued_other() -> __cap_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 cap 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 cap unit_byte
LOCK2 &ci->i_ceph_lock
HALF_LOCKED2 &mdsc->snap_rwsem
HALF_LOCKED2 &s->lock
HALF_LOCKED2 &session->s_mutex
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock

fs/ceph/caps.c __ceph_caps_mds_wanted() -> __cap_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 cap 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 cap unit_byte
LOCK2 &ci->i_ceph_lock
HALF_LOCKED2 &dentry->d_lockref.lock
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock

fs/ceph/caps.c ceph_check_caps() -> __cap_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 cap 4096-ptr_max
PARAM_VALUE 0 cap->mds 0-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 0 cap unit_byte
LOCK2 &ci->i_ceph_lock
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock

fs/ceph/caps.c ceph_encode_inode_release() -> __cap_is_valid()

Type Parameter Key Value
PARAM_VALUE 0 cap 4096-ptr_max
CAPPED_DATA 0 cap->mds 1
DATA_SOURCE 0 cap r __get_cap_for_mds
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ci->i_ceph_lock
LOCK2 &mdsc->mutex
HALF_LOCKED2 &session->s_mutex
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock
TYPE_LOCK (struct ceph_mds_client)->mutex