Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 6 files:
- fs/ceph/addr.c, line 1943
- fs/ceph/caps.c
- fs/ceph/file.c
- fs/ceph/inode.c
- fs/ceph/ioctl.c, line 274
- fs/ceph/mds_client.c, line 2656
Smatch caller information:
fs/ceph/mds_client.c ceph_cap_unlink_work() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_cap_delay_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_cap_delay_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | flags | 2 |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
fs/ceph/caps.c __ceph_put_cap_refs() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_ceph_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_data.host->i_sb->s_export_op->encode_fh | 0,2,4096-ptr_max |
| PARAM_VALUE | 0 | ci->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb->s_cop->empty_dir | 0,86,4096-ptr_max |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb->s_cop->get_context | 0,706,4096-ptr_max |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb->s_cop->inode_info_offs | 1632,1720,1808,2632,2648,2704,2712 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb->s_cop->set_context | 0,67,4096-ptr_max |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb->s_export_op->encode_fh | 0,2,4096-ptr_max |
| PARAM_VALUE | 1 | flags | 0 |
| DATA_SOURCE | 0 | ci | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &mdsc->mutex |
fs/ceph/caps.c ceph_check_delayed_caps() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 1 | flags | 0 |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
fs/ceph/caps.c ceph_put_wrbuffer_cap_refs() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_ceph_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->i_wrbuffer_ref | 0 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb | 4096-ptr_max |
| PARAM_VALUE | 1 | flags | 0 |
| CAPPED_DATA | 0 | &ci->i_cap_snaps | 1 |
| DATA_SOURCE | 0 | ci | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/ceph/caps.c check_max_size() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_auth_cap | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_auth_cap->issued | s32min-(-1),4096-s32max |
| PARAM_VALUE | 0 | ci->i_ceph_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->i_max_size | 0-18446744073709551614 |
| PARAM_VALUE | 0 | ci->i_requested_max_size | 0-18446744073709551614 |
| PARAM_VALUE | 0 | ci->i_wanted_max_size | 1-u64max |
| PARAM_VALUE | 1 | flags | 1 |
| CAPPED_DATA | 0 | ci->i_max_size | 1 |
| CAPPED_DATA | 0 | ci->i_requested_max_size | 1 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| PARAM_COMPARE | 0 | ci->i_max_size | < $0->i_wanted_max_size |
| PARAM_COMPARE | 0 | ci->i_requested_max_size | < $0->i_wanted_max_size |
| BIT_INFO | 0 | ci->i_auth_cap->issued | 0x1000,0xffffffff |
| NOSPEC | 0 | ci->i_wanted_max_size | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | ci->i_wanted_max_size | 1-9223372036854775805,9223372036854775808-u64max[c] |
fs/ceph/caps.c flush_dirty_session_caps() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb->s_export_op->encode_fh | 0,2,4096-ptr_max |
| PARAM_VALUE | 1 | flags | 2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/ceph/caps.c handle_cap_grant() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_auth_cap | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_cached_layout.object_size | 0 |
| PARAM_VALUE | 0 | ci->i_cached_layout.pool_id | 0 |
| PARAM_VALUE | 0 | ci->i_cached_layout.pool_ns | 0 |
| PARAM_VALUE | 0 | ci->i_cached_layout.stripe_count | 0 |
| PARAM_VALUE | 0 | ci->i_cached_layout.stripe_unit | 0 |
| PARAM_VALUE | 0 | ci->i_caps.rb_node | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_ceph_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb | 4096-ptr_max |
| PARAM_VALUE | 1 | flags | 5,13 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| BIT_INFO | 1 | flags | 0x5,0xd |
| NOCHECK_CALL |
fs/ceph/caps.c handle_cap_grant() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_auth_cap | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_cached_layout.object_size | 0 |
| PARAM_VALUE | 0 | ci->i_cached_layout.pool_id | 0 |
| PARAM_VALUE | 0 | ci->i_cached_layout.pool_ns | 0 |
| PARAM_VALUE | 0 | ci->i_cached_layout.stripe_count | 0 |
| PARAM_VALUE | 0 | ci->i_cached_layout.stripe_unit | 0 |
| PARAM_VALUE | 0 | ci->i_caps.rb_node | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_ceph_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb | 4096-ptr_max |
| PARAM_VALUE | 1 | flags | 4,12 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| BIT_INFO | 1 | flags | 0x4,0xc |
| NOCHECK_CALL |
fs/ceph/ioctl.c ceph_ioctl_lazyio() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_cap_delay_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_ceph_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->i_nr_by_mode | 4096-ptr_max |
| PARAM_VALUE | 1 | flags | 0 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| NOCHECK_CALL |
fs/ceph/inode.c __ceph_do_pending_vmtruncate() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_ceph_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.first_waiter->task->blocked_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.first_waiter->task->blocked_lock.owner | (-1) |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.first_waiter->task->blocked_lock.owner_cpu | 4294967295 |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter | s32min-s32max |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.first_waiter->task->blocked_on | 0 |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->i_truncate_pending | 0 |
| PARAM_VALUE | 0 | ci->i_wrbuffer_ref | 0 |
| PARAM_VALUE | 1 | flags | 0 |
| CAPPED_DATA | 0 | ci->i_truncate_pagecache_size | 1 |
| CAPPED_DATA | 0 | &ci->i_truncate_mutex | 1 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| PARAM_COMPARE | 0 | ci->i_wrbuffer_ref | <= $0->i_wrbuffer_ref_head |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/ceph/inode.c ceph_do_invalidate_pages() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_caps.rb_node | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_ceph_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.first_waiter->task->blocked_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.first_waiter->task->blocked_lock.owner | (-1) |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.first_waiter->task->blocked_lock.owner_cpu | 4294967295 |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter | s32min-s32max |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.first_waiter->task->blocked_on | 0 |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | ci->i_truncate_mutex.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | flags | 0 |
| CAPPED_DATA | 0 | &ci->i_truncate_mutex | 1 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| PARAM_COMPARE | 0 | ci->i_rdcache_gen | <= $0->i_rdcache_revoking |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
fs/ceph/inode.c ceph_inode_work() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb | 4096-ptr_max |
| PARAM_VALUE | 1 | flags | 0 |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
fs/ceph/addr.c ceph_write_end() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 1 | flags | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &inode->i_rwsem |
fs/ceph/file.c __ceph_copy_file_range() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_layout.pool_ns | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_layout.pool_ns->kref.refcount.refs.counter | (-1073741824),0-s32max |
| PARAM_VALUE | 0 | ci->i_layout.stripe_count | 1 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_data.host->i_sb->s_export_op->encode_fh | 0,2,4096-ptr_max |
| PARAM_VALUE | 0 | ci->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | flags | 3 |
| CAPPED_DATA | 0 | ci->i_layout.object_size | 1 |
| CAPPED_DATA | 0 | ci->i_layout.stripe_unit | 1 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| RX_PATH | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
fs/ceph/file.c ceph_aio_complete() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 1 | flags | 1 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock |
fs/ceph/file.c ceph_direct_read_write() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 1 | flags | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/ceph/file.c ceph_open() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_auth_cap | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_cap_delay_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_caps.rb_node | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_ceph_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb | 4096-ptr_max |
| PARAM_VALUE | 1 | flags | 0 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &dentry->d_lockref.lock |
fs/ceph/file.c ceph_renew_caps() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_auth_cap | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_cap_delay_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_caps.rb_node | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_ceph_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb | 4096-ptr_max |
| PARAM_VALUE | 1 | flags | 0 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/ceph/file.c ceph_sync_write() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 1 | flags | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/ceph/file.c ceph_write_iter() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_ceph_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_data.host->i_sb->s_export_op->encode_fh | 0,2,4096-ptr_max |
| PARAM_VALUE | 0 | ci->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | ci->netfs.inode.i_sb | 4096-ptr_max |
| PARAM_VALUE | 1 | flags | 2 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
fs/ceph/file.c wake_async_create_waiters() -> ceph_check_caps()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ci | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_auth_cap->implemented | 0-s32max |
| PARAM_VALUE | 0 | ci->i_auth_cap->issued | 0-s32max |
| PARAM_VALUE | 0 | ci->i_auth_cap->mds_wanted | 0-66047 |
| PARAM_VALUE | 0 | ci->i_auth_cap->session->s_cap_flushing.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_auth_cap->session->s_cap_flushing.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_auth_cap->session->s_cap_flushing.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_cap_delay_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_cap_delay_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_cap_delay_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_cap_delay_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_ceph_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ci->i_flushing_item.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_flushing_item.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ci->i_flushing_item.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | flags | 2 |
| DATA_SOURCE | 0 | ci | r ceph_inode |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |