Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

net/ceph/messenger_v2.c calc_sg_cnt_cursor() -> ceph_msg_data_advance()

Type Parameter Key Value
PARAM_VALUE 0 cursor 9015903013294497792
PARAM_VALUE 0 cursor->bio_iter.iter.bi_bvec_done 0-4096
PARAM_VALUE 0 cursor->data 4096-ptr_max
PARAM_VALUE 0 cursor->iov_iter.bvec 4096-u64max
PARAM_VALUE 0 cursor->lastlen 0-4096
PARAM_VALUE 0 cursor->resid 1-u64max
PARAM_VALUE 0 cursor->sr_resid 0
PARAM_VALUE 1 bytes 1-u32max
DATA_SOURCE 0 cursor $0
NOSPEC 0 cursor->bvec_iter.bi_offset
NOSPEC 0 cursor->resid
NOSPEC 1 bytes
NOSPEC 1 bytes
NOCHECK_CALL
USER_DATA 0 cursor->bvec_iter.bi_offset 1-4096[c]
USER_DATA 0 cursor->bvec_iter.bi_size 1-s32max[c]
USER_DATA 0 cursor->lastlen 1-4096[c]
USER_DATA 0 cursor->need_crc 0-1
USER_DATA 0 cursor->page_offset 0-2559[c]
USER_DATA 0 cursor->resid 1-u64max
USER_DATA 1 bytes 1-1000000000[c]
UNITS 1 bytes unit_byte
HALF_LOCKED2 &con->mutex
HALF_LOCKED2 &pool->lock

net/ceph/messenger_v2.c get_bvec_at() -> ceph_msg_data_advance()

Type Parameter Key Value
PARAM_VALUE 0 cursor 4096-ptr_max
PARAM_VALUE 0 cursor->resid 0
PARAM_VALUE 1 bytes 0
BUF_SIZE 0 cursor (-1),80
BUF_SIZE 0 cursor (-1),80
DATA_SOURCE 0 cursor $0
NOSPEC 0 cursor->bvec_iter.bi_offset
NOSPEC 0 cursor->iov_iter.iov_offset
NOSPEC 0 cursor->lastlen
NOSPEC 0 cursor->resid
NOCHECK_CALL
USER_DATA 0 cursor->bvec_iter.bi_offset 1-4096[c]
USER_DATA 0 cursor->bvec_iter.bi_size 1-s32max[c]
USER_DATA 0 cursor->iov_iter.iov_offset 0-u64max[c]
USER_DATA 0 cursor->lastlen 1-4096[c]
USER_DATA 0 cursor->need_crc 0-1
USER_DATA 0 cursor->page_offset 0-2559[c]
USER_DATA 0 cursor->resid 0

net/ceph/messenger_v2.c init_sgs_cursor() -> ceph_msg_data_advance()

Type Parameter Key Value
PARAM_VALUE 0 cursor 9015903013294497792
PARAM_VALUE 0 cursor->bio_iter.iter.bi_bvec_done 0-4096
PARAM_VALUE 0 cursor->data 4096-ptr_max
PARAM_VALUE 0 cursor->iov_iter.bvec 4096-u64max
PARAM_VALUE 0 cursor->lastlen 0-4096
PARAM_VALUE 0 cursor->resid 1-u64max
PARAM_VALUE 0 cursor->sr_resid 0
PARAM_VALUE 1 bytes 1-u32max
DATA_SOURCE 0 cursor $1
NOSPEC 0 cursor->bvec_iter.bi_offset
NOSPEC 0 cursor->resid
NOSPEC 1 bytes
NOSPEC 1 bytes
NOCHECK_CALL
USER_DATA 0 cursor->bvec_iter.bi_offset 1-4096[c]
USER_DATA 0 cursor->bvec_iter.bi_size 1-s32max[c]
USER_DATA 0 cursor->lastlen 1-4096[c]
USER_DATA 0 cursor->need_crc 0-1
USER_DATA 0 cursor->page_offset 0-2559[c]
USER_DATA 0 cursor->resid 1-u64max
USER_DATA 1 bytes 1-1000000000[c]
UNITS 1 bytes unit_byte
HALF_LOCKED2 &con->mutex
HALF_LOCKED2 &pool->lock

net/ceph/messenger_v2.c prepare_read_data_cont() -> ceph_msg_data_advance()

Type Parameter Key Value
PARAM_VALUE 0 cursor 4096-ptr_max
NOCHECK_CALL
UNITS 1 bytes unit_byte

net/ceph/messenger_v2.c prepare_sparse_read_cont() -> ceph_msg_data_advance()

Type Parameter Key Value
PARAM_VALUE 0 cursor 4096-ptr_max
PARAM_VALUE 0 cursor->data 4096-ptr_max
PARAM_VALUE 0 cursor->lastlen 0-4096
PARAM_VALUE 0 cursor->sr_resid 0
BUF_SIZE 0 cursor 80
NOSPEC 0 cursor->bvec_iter.bi_offset
NOSPEC 0 cursor->resid
NOCHECK_CALL
USER_DATA 0 cursor->bvec_iter.bi_offset 1-4096[c]
USER_DATA 0 cursor->bvec_iter.bi_size 1-s32max[c]
USER_DATA 0 cursor->lastlen 1-4096[c]
USER_DATA 0 cursor->need_crc 0-1
USER_DATA 0 cursor->page_offset 0-2559[c]
USER_DATA 0 cursor->resid 0-u64max
UNITS 1 bytes unit_byte

net/ceph/messenger_v2.c process_v2_sparse_read() -> ceph_msg_data_advance()

Type Parameter Key Value
PARAM_VALUE 0 cursor 273269346584760320
PARAM_VALUE 0 cursor->data 4096-ptr_max
PARAM_VALUE 0 cursor->iov_iter.bvec 4096-u64max
PARAM_VALUE 0 cursor->lastlen 0-4096
PARAM_VALUE 0 cursor->resid 1-u64max
PARAM_VALUE 0 cursor->sr_resid 0-s32max
PARAM_VALUE 1 bytes 1-4096,18446744071562067968-u64max
CAPPED_DATA 1 bytes 1
NOSPEC 0 cursor->bvec_iter.bi_offset
NOSPEC 0 cursor->resid
NOCHECK_CALL
USER_DATA 0 cursor->bvec_iter.bi_offset 1-4096[c]
USER_DATA 0 cursor->bvec_iter.bi_size 1-s32max[c]
USER_DATA 0 cursor->lastlen 1-4096[c]
USER_DATA 0 cursor->need_crc 0-1
USER_DATA 0 cursor->page_offset 0-2559[c]
USER_DATA 0 cursor->resid 1-u64max
USER_DATA 1 bytes 1-4096[c]
UNITS 1 bytes unit_byte
LOCK2 &con->mutex
LOCK2 &pool->lock
TYPE_LOCK (struct ceph_connection)->mutex

net/ceph/messenger_v2.c queue_data_cont() -> ceph_msg_data_advance()

Type Parameter Key Value
PARAM_VALUE 0 cursor 4096-ptr_max
NOCHECK_CALL
USER_DATA 0 cursor->resid 0-u64max
UNITS 1 bytes unit_byte
LOCK2 &con->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ceph_connection)->mutex

net/ceph/messenger_v2.c revoke_at_prepare_read_data_cont() -> ceph_msg_data_advance()

Type Parameter Key Value
PARAM_VALUE 0 cursor 4096-ptr_max
PARAM_VALUE 1 bytes 1-s32max,18446744071562067968-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 cursor->bvec_iter.bi_size 1-s32max[c]
USER_DATA 0 cursor->lastlen 1-4096[c]
USER_DATA 0 cursor->need_crc 0-1
USER_DATA 0 cursor->page_offset 0-2559[c]
USER_DATA 0 cursor->resid 0-u64max
UNITS 1 bytes unit_byte
LOCK2 &con->mutex
HALF_LOCKED2 &monc->mutex
HALF_LOCKED2 &osd->lock
HALF_LOCKED2 &osdc->lock
TYPE_LOCK (struct ceph_connection)->mutex

net/ceph/messenger_v2.c revoke_at_queue_data_cont() -> ceph_msg_data_advance()

Type Parameter Key Value
PARAM_VALUE 0 cursor 4096-ptr_max
PARAM_VALUE 1 bytes 1-s32max,18446744071562067968-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 cursor->page_offset 0-2559[c]
USER_DATA 0 cursor->resid 0-u64max
UNITS 1 bytes unit_byte
LOCK2 &con->mutex
HALF_LOCKED2 &monc->mutex
HALF_LOCKED2 &osdc->lock
TYPE_LOCK (struct ceph_connection)->mutex

net/ceph/messenger_v1.c read_partial_msg_data() -> ceph_msg_data_advance()

Type Parameter Key Value
PARAM_VALUE 0 cursor 4096-ptr_max
PARAM_VALUE 0 cursor->resid 0
PARAM_VALUE 0 cursor->total_resid 1-u64max
PARAM_VALUE 1 bytes 0
BUF_SIZE 0 cursor 80
NOSPEC 0 cursor->bvec_iter.bi_offset
NOSPEC 0 cursor->resid
NOCHECK_CALL
USER_DATA 0 cursor->bvec_iter.bi_offset 1-4096[c]
USER_DATA 0 cursor->bvec_iter.bi_size 1-s32max[c]
USER_DATA 0 cursor->lastlen 1-4096[c]
USER_DATA 0 cursor->need_crc 0-1
USER_DATA 0 cursor->page_offset 0-2559[c]
USER_DATA 0 cursor->resid 0
LOCK2 &con->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ceph_connection)->mutex

net/ceph/messenger_v1.c read_partial_msg_data() -> ceph_msg_data_advance()

Type Parameter Key Value
PARAM_VALUE 0 cursor 4096-ptr_max
PARAM_VALUE 0 cursor->data 4096-ptr_max
PARAM_VALUE 0 cursor->data->type 1-5
PARAM_VALUE 0 cursor->iov_iter.bvec 4096-u64max
PARAM_VALUE 0 cursor->lastlen 0-4096
PARAM_VALUE 0 cursor->resid 1-u64max
PARAM_VALUE 0 cursor->total_resid 1-u64max
PARAM_VALUE 1 bytes 1-s32max
BUF_SIZE 0 cursor 80
CAPPED_DATA 1 bytes 1
DATA_SOURCE 1 bytes r ceph_tcp_recvpage
NOSPEC 0 cursor->bvec_iter.bi_offset
NOSPEC 0 cursor->resid
NOCHECK_CALL
USER_DATA 0 cursor->bvec_iter.bi_offset 1-4096[c]
USER_DATA 0 cursor->bvec_iter.bi_size 1-s32max[c]
USER_DATA 0 cursor->lastlen 1-4096[c]
USER_DATA 0 cursor->need_crc 0-1
USER_DATA 0 cursor->page_offset 0-2559[c]
USER_DATA 0 cursor->resid 1-u64max
LOCK2 &con->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ceph_connection)->mutex

net/ceph/messenger_v1.c read_partial_msg_data_bounce() -> ceph_msg_data_advance()

Type Parameter Key Value
PARAM_VALUE 0 cursor 4096-ptr_max
PARAM_VALUE 0 cursor->resid 0
PARAM_VALUE 0 cursor->total_resid 1-u64max
PARAM_VALUE 1 bytes 0
BUF_SIZE 0 cursor 80
NOSPEC 0 cursor->bvec_iter.bi_offset
NOSPEC 0 cursor->resid
NOCHECK_CALL
USER_DATA 0 cursor->bvec_iter.bi_offset 1-4096[c]
USER_DATA 0 cursor->bvec_iter.bi_size 1-s32max[c]
USER_DATA 0 cursor->lastlen 1-4096[c]
USER_DATA 0 cursor->need_crc 0-1
USER_DATA 0 cursor->page_offset 0-2559[c]
USER_DATA 0 cursor->resid 0
LOCK2 &con->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ceph_connection)->mutex

net/ceph/messenger_v1.c read_partial_msg_data_bounce() -> ceph_msg_data_advance()

Type Parameter Key Value
PARAM_VALUE 0 cursor 4096-ptr_max
PARAM_VALUE 0 cursor->data 4096-ptr_max
PARAM_VALUE 0 cursor->data->type 1-5
PARAM_VALUE 0 cursor->iov_iter.bvec 4096-u64max
PARAM_VALUE 0 cursor->lastlen 0-4096
PARAM_VALUE 0 cursor->resid 1-u64max
PARAM_VALUE 0 cursor->total_resid 1-u64max
PARAM_VALUE 1 bytes 1-s32max
BUF_SIZE 0 cursor 80
CAPPED_DATA 1 bytes 1
DATA_SOURCE 1 bytes r ceph_tcp_recvpage
NOSPEC 0 cursor->bvec_iter.bi_offset
NOSPEC 0 cursor->resid
NOCHECK_CALL
USER_DATA 0 cursor->bvec_iter.bi_offset 1-4096[c]
USER_DATA 0 cursor->bvec_iter.bi_size 1-s32max[c]
USER_DATA 0 cursor->lastlen 1-4096[c]
USER_DATA 0 cursor->need_crc 0-1
USER_DATA 0 cursor->page_offset 0-2559[c]
USER_DATA 0 cursor->resid 1-u64max
LOCK2 &con->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ceph_connection)->mutex

net/ceph/messenger_v1.c read_partial_sparse_msg_extent() -> ceph_msg_data_advance()

Type Parameter Key Value
PARAM_VALUE 0 cursor 4096-ptr_max
PARAM_VALUE 0 cursor->data 4096-ptr_max
PARAM_VALUE 0 cursor->data->type 1-5
PARAM_VALUE 0 cursor->iov_iter.bvec 4096-u64max
PARAM_VALUE 0 cursor->lastlen 0-4096
PARAM_VALUE 0 cursor->resid 1-u64max
PARAM_VALUE 0 cursor->sr_resid 1-s32max
PARAM_VALUE 1 bytes 1-s32max
BUF_SIZE 0 cursor 80
DATA_SOURCE 1 bytes r ceph_tcp_recvpage
NOSPEC 0 cursor->bvec_iter.bi_offset
NOSPEC 0 cursor->iov_iter.iov_offset
NOSPEC 0 cursor->resid
NOCHECK_CALL
USER_DATA 0 cursor->bvec_iter.bi_offset 1-4096[c]
USER_DATA 0 cursor->bvec_iter.bi_size 1-s32max[c]
USER_DATA 0 cursor->iov_iter.count 0-u64max
USER_DATA 0 cursor->iov_iter.iov_offset 0-u64max[c]
USER_DATA 0 cursor->lastlen 1-4096[c]
USER_DATA 0 cursor->need_crc 0-1
USER_DATA 0 cursor->page_offset 0-2559[c]
USER_DATA 0 cursor->resid 1-u64max

net/ceph/messenger_v1.c write_partial_message_data() -> ceph_msg_data_advance()

Type Parameter Key Value
PARAM_VALUE 0 cursor 4096-ptr_max
PARAM_VALUE 0 cursor->resid 0
PARAM_VALUE 0 cursor->total_resid 1-u64max
PARAM_VALUE 1 bytes 0
BUF_SIZE 0 cursor 80
NOSPEC 0 cursor->resid
NOCHECK_CALL
USER_DATA 0 cursor->resid 0
LOCK2 &con->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ceph_connection)->mutex

net/ceph/messenger_v1.c write_partial_message_data() -> ceph_msg_data_advance()

Type Parameter Key Value
PARAM_VALUE 0 cursor 4096-ptr_max
PARAM_VALUE 0 cursor->data 4096-ptr_max
PARAM_VALUE 0 cursor->data->type 1-5
PARAM_VALUE 0 cursor->iov_iter.bvec 4096-u64max
PARAM_VALUE 0 cursor->lastlen 0-4096
PARAM_VALUE 0 cursor->resid 1-u64max
PARAM_VALUE 0 cursor->total_resid 1-u64max
PARAM_VALUE 1 bytes 1-s32max
BUF_SIZE 0 cursor 80
DATA_SOURCE 1 bytes r ceph_tcp_sendpage
NOSPEC 0 cursor->resid
NOCHECK_CALL
USER_DATA 0 cursor->lastlen 1-4096[c]
USER_DATA 0 cursor->resid 1-u64max
LOCK2 &con->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ceph_connection)->mutex

net/ceph/osd_client.c advance_cursor() -> ceph_msg_data_advance()

Type Parameter Key Value
PARAM_VALUE 0 cursor 4096-ptr_max
PARAM_VALUE 0 cursor->data 4096-ptr_max
PARAM_VALUE 0 cursor->data->type 1-5
PARAM_VALUE 0 cursor->iov_iter.bvec 4096-u64max
PARAM_VALUE 0 cursor->lastlen 0-4096
PARAM_VALUE 0 cursor->resid 1-u64max
PARAM_VALUE 1 bytes 1-u32max
BUF_SIZE 0 cursor (-1),80
BUF_SIZE 0 cursor (-1),80
CAPPED_DATA 1 bytes 1
CAPPED_DATA 1 bytes 1
DATA_SOURCE 0 cursor $0
NOSPEC 0 cursor->bvec_iter.bi_offset
NOSPEC 0 cursor->iov_iter.iov_offset
NOSPEC 0 cursor->lastlen
NOSPEC 0 cursor->resid
NOSPEC 1 bytes
NOCHECK_CALL
USER_DATA 0 cursor->bvec_iter.bi_offset 1-4096[c]
USER_DATA 0 cursor->bvec_iter.bi_size 1-s32max[c]
USER_DATA 0 cursor->iov_iter.iov_offset 0-u64max[c]
USER_DATA 0 cursor->lastlen 1-4096[c]
USER_DATA 0 cursor->need_crc 0-1
USER_DATA 0 cursor->page_offset 0-2559[c]
USER_DATA 0 cursor->resid 1-u64max
UNITS 1 bytes unit_byte
HALF_LOCKED2 &con->mutex
HALF_LOCKED2 &o->o_requests_lock
HALF_LOCKED2 &pool->lock