Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

net/ceph/buffer.c ceph_decode_buffer() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 3286875005880565760,5123938228926115840
PARAM_VALUE 0 *p 0-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 2 n 0-u32max
BUF_SIZE 0 p (-1),8
BUF_SIZE 0 p (-1),8
BUF_SIZE 1 pv s32min-(-2),1-s32max
CAPPED_DATA 0 *p 1
CAPPED_DATA 2 n 1
CAPPED_DATA 2 n 1
DATA_SOURCE 0 p $1
DATA_SOURCE 2 n r ceph_decode_32
BIT_INFO 0 p 0x5194223220f0000,0x7fffffffffffffff
BIT_INFO 0 p 0x5194223220f0000,0xffffffffffffffff
NOCHECK_CALL
USER_DATA 2 n 0-u32max[c]
UNITS 1 pv unit_byte
LOCK2 &ac->mutex
LOCK2 &monc->mutex
TYPE_LOCK (struct ceph_auth_client)->mutex
TYPE_LOCK (struct ceph_mon_client)->mutex

fs/ceph/mds_client.c ceph_mdsc_handle_mdsmap() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 5637025410326953984
PARAM_VALUE 0 *p 0-ptr_max
PARAM_VALUE 1 pv 5981980341846163456
PARAM_VALUE 2 n 16
BUF_SIZE 1 pv 16
NOCHECK_CALL
UNITS 2 n unit_byte

fs/ceph/mds_client.c handle_session() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 7363369821820940288
PARAM_VALUE 1 pv 16,4096-ptr_max
PARAM_VALUE 1 *pv 0-255
PARAM_VALUE 2 n 1-u32max
BUF_SIZE 1 pv 1
DATA_SOURCE 2 n r ceph_decode_32
NOCHECK_CALL
USER_DATA 2 n 1-u32max

fs/ceph/mds_client.c handle_session() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 7363369821820940288
PARAM_VALUE 0 *p 4096-ptr_max
PARAM_VALUE 1 pv 16,4096-ptr_max
PARAM_VALUE 1 *pv 0-255
PARAM_VALUE 2 n 1-u32max
BUF_SIZE 1 pv 1
DATA_SOURCE 2 n r ceph_decode_32
NOCHECK_CALL
USER_DATA 2 n 1-u32max

fs/ceph/mds_client.c parse_reply_info_in() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 2474915687847202816
PARAM_VALUE 0 *p 4096-ptr_max
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 8
BUF_SIZE 1 pv 8
CAPPED_DATA 0 *p 1
DATA_SOURCE 0 p $0
NOCHECK_CALL
USER_DATA 0 *p 4096-ptr_max[c][u]
UNITS 2 n unit_byte
LOCK2 &mdsc->mutex
TYPE_LOCK (struct ceph_mds_client)->mutex

fs/ceph/mds_client.c parse_reply_info_in() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 2474915687847202816
PARAM_VALUE 0 *p 0-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 8
BUF_SIZE 1 pv 8
CAPPED_DATA 0 *p 1
DATA_SOURCE 0 p $0
NOCHECK_CALL
USER_DATA 0 *p 4096-ptr_max[c][u]
UNITS 2 n unit_byte
LOCK2 &mdsc->mutex
TYPE_LOCK (struct ceph_mds_client)->mutex

fs/ceph/mds_client.c parse_reply_info_in() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 2474915687847202816
PARAM_VALUE 0 *p 4096-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 8
BUF_SIZE 1 pv 8
CAPPED_DATA 0 *p 1
DATA_SOURCE 0 p $0
NOCHECK_CALL
UNITS 2 n unit_byte
LOCK2 &mdsc->mutex
TYPE_LOCK (struct ceph_mds_client)->mutex

fs/ceph/mds_client.c parse_reply_info_in() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 2474915687847202816
PARAM_VALUE 0 *p 0-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 1-4000000
BUF_SIZE 1 pv 1-u32max
CAPPED_DATA 0 *p 1
CAPPED_DATA 2 n 1
DATA_SOURCE 0 p $0
DATA_SOURCE 1 pv r _kmalloc_noprof
DATA_SOURCE 2 n r ceph_decode_32
NOCHECK_CALL
USER_DATA 2 n 1-4000000[c]
BYTE_COUNT 1 ==pv2 8050
LOCK2 &mdsc->mutex
TYPE_LOCK (struct ceph_mds_client)->mutex

fs/ceph/mds_client.c parse_reply_info_in() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 2474915687847202816
PARAM_VALUE 0 *p 4096-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 1-4000000
BUF_SIZE 1 pv 1-u32max
CAPPED_DATA 0 *p 1
CAPPED_DATA 2 n 1
DATA_SOURCE 0 p $0
DATA_SOURCE 1 pv r _kmalloc_noprof
DATA_SOURCE 2 n r ceph_decode_32
NOCHECK_CALL
USER_DATA 2 n 1-4000000[c]
UNITS 2 n unit_byte
BYTE_COUNT 1 ==pv2 8050
LOCK2 &mdsc->mutex
TYPE_LOCK (struct ceph_mds_client)->mutex

fs/ceph/mds_client.c parse_reply_info_in() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 2474915687847202816
PARAM_VALUE 0 *p 0-ptr_max
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 8
BUF_SIZE 1 pv 8
CAPPED_DATA 0 *p 1
DATA_SOURCE 0 p $0
NOCHECK_CALL
USER_DATA 0 *p 4096-ptr_max[c][u]
UNITS 2 n unit_byte
LOCK2 &mdsc->mutex
TYPE_LOCK (struct ceph_mds_client)->mutex

net/ceph/decode.c ceph_decode_entity_addr_legacy() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 *p 4096-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 4
BUF_SIZE 1 pv 4
CAPPED_DATA 0 *p 1
DATA_SOURCE 0 p $0
PREEMPT_ADD
NOCHECK_CALL
UNITS 2 n unit_byte
HALF_LOCKED2 &con->mutex
HALF_LOCKED2 &mdsc->mutex
HALF_LOCKED2 &monc->mutex
HALF_LOCKED2 &osdc->lock
HALF_LOCKED2 &rbd_dev->lock_rwsem

net/ceph/decode.c ceph_decode_entity_addr_legacy() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 128
BUF_SIZE 1 pv 128
CAPPED_DATA 0 *p 1
DATA_SOURCE 0 p $0
MEM_ZERO 1 pv
PREEMPT_ADD
NOCHECK_CALL
UNITS 2 n unit_byte
HALF_LOCKED2 &con->mutex
HALF_LOCKED2 &mdsc->mutex
HALF_LOCKED2 &monc->mutex
HALF_LOCKED2 &osdc->lock
HALF_LOCKED2 &rbd_dev->lock_rwsem

net/ceph/decode.c ceph_decode_entity_addr_versioned() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 *p 4096-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 4
BUF_SIZE 1 pv 4
CAPPED_DATA 0 *p 1
DATA_SOURCE 0 p $0
PREEMPT_ADD
NOCHECK_CALL
UNITS 2 n unit_byte
HALF_LOCKED2 &con->mutex
HALF_LOCKED2 &mdsc->mutex
HALF_LOCKED2 &monc->mutex
HALF_LOCKED2 &osdc->lock
HALF_LOCKED2 &rbd_dev->lock_rwsem

net/ceph/decode.c ceph_decode_entity_addr_versioned() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 4
BUF_SIZE 1 pv 4
CAPPED_DATA 0 *p 1
DATA_SOURCE 0 p $0
PREEMPT_ADD
NOCHECK_CALL
UNITS 2 n unit_byte
HALF_LOCKED2 &con->mutex
HALF_LOCKED2 &mdsc->mutex
HALF_LOCKED2 &monc->mutex
HALF_LOCKED2 &osdc->lock
HALF_LOCKED2 &rbd_dev->lock_rwsem

net/ceph/decode.c ceph_decode_entity_addr_versioned() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 1-128
BUF_SIZE 1 pv 128
CAPPED_DATA 0 *p 1
CAPPED_DATA 2 n 1
DATA_SOURCE 0 p $0
DATA_SOURCE 2 n r ceph_decode_32
HARD_MAX 2 n 128
MEM_ZERO 1 pv
PREEMPT_ADD
NOCHECK_CALL
USER_DATA 2 n 1-128[c]
UNITS 2 n unit_byte
HALF_LOCKED2 &con->mutex
HALF_LOCKED2 &mdsc->mutex
HALF_LOCKED2 &monc->mutex
HALF_LOCKED2 &osdc->lock
HALF_LOCKED2 &rbd_dev->lock_rwsem

fs/ceph/caps.c parse_fscrypt_fields() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 8980025051888386048
PARAM_VALUE 0 *p 4096-ptr_max
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 1-4000000
BUF_SIZE 1 pv 1-u32max
CAPPED_DATA 0 *p 1
CAPPED_DATA 2 n 1
DATA_SOURCE 0 p $0
DATA_SOURCE 1 pv r _kmalloc_noprof
DATA_SOURCE 2 n r ceph_decode_32
NOSPEC 2 n
NOSPEC 2 n
NOCHECK_CALL
USER_DATA 2 n 1-4000000[c]
UNITS 2 n unit_byte
BYTE_COUNT 1 ==pv2 8050
HALF_LOCKED2 &pool->lock

net/ceph/cls_lock_client.c decode_locker() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 3513944409585897472
PARAM_VALUE 0 *p 4096-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 9
BUF_SIZE 1 pv 9
CAPPED_DATA 0 *p 1
DATA_SOURCE 0 p $0
PREEMPT_ADD
NOCHECK_CALL
UNITS 2 n unit_byte
LOCK2 &pool->lock
LOCK2 &rbd_dev->lock_rwsem
TYPE_LOCK (struct rbd_device)->lock_rwsem

net/ceph/crypto.c ceph_crypto_key_decode() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 1918321708708368384,5681720355490627584,8180779200921808896
PARAM_VALUE 0 *p 4096-ptr_max
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 8
BUF_SIZE 1 pv 8
DATA_SOURCE 0 p $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 n unit_byte
HALF_LOCKED2 &ac->mutex
HALF_LOCKED2 &monc->mutex

net/ceph/mon_client.c ceph_monmap_decode() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 7160152355749388288
PARAM_VALUE 0 *p 4096-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 3667986282021085184
PARAM_VALUE 2 n 16
BUF_SIZE 1 pv 16
CAPPED_DATA 0 *p 1
DATA_SOURCE 0 p $0
NOCHECK_CALL
UNITS 2 n unit_byte
LOCK2 &monc->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ceph_mon_client)->mutex

fs/ceph/mdsmap.c ceph_mdsmap_decode() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 5637025410326953984
PARAM_VALUE 0 *p 0-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 424314972973621248
PARAM_VALUE 2 n 8
BUF_SIZE 1 pv 8
CAPPED_DATA 0 *p 1
DATA_SOURCE 0 p $1
NOCHECK_CALL
USER_DATA 0 *p 4096-ptr_max[c][u]
UNITS 2 n unit_byte
LOCK2 &mdsc->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ceph_mds_client)->mutex

net/ceph/osdmap.c crush_decode() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 *p 0-ptr_max
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 4
BUF_SIZE 0 p 8
BUF_SIZE 1 pv 4
CAPPED_DATA 0 *p 1
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &osdc->lock
TYPE_LOCK (struct ceph_osd_client)->lock

net/ceph/osdmap.c osdmap_apply_incremental() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 *p 0-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 385085787241435136
PARAM_VALUE 2 n 16
BUF_SIZE 1 pv 16
CAPPED_DATA 0 *p 1
DATA_SOURCE 0 p $0
NOCHECK_CALL
UNITS 2 n unit_byte
LOCK2 &osdc->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ceph_osd_client)->lock

net/ceph/osdmap.c osdmap_apply_incremental() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 7851722241129975808
PARAM_VALUE 2 n 8
BUF_SIZE 1 pv 8
DATA_SOURCE 0 p $0
NOCHECK_CALL
UNITS 2 n unit_byte
LOCK2 &osdc->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ceph_osd_client)->lock

net/ceph/osdmap.c osdmap_decode() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 *p 0-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 16
BUF_SIZE 1 pv 16
CAPPED_DATA 0 *p 1
DATA_SOURCE 0 p $0
NOCHECK_CALL
UNITS 2 n unit_byte
LOCK2 &osdc->lock
TYPE_LOCK (struct ceph_osd_client)->lock

net/ceph/osdmap.c osdmap_decode() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 8
BUF_SIZE 1 pv 8
DATA_SOURCE 0 p $0
NOCHECK_CALL
UNITS 2 n unit_byte
LOCK2 &osdc->lock
TYPE_LOCK (struct ceph_osd_client)->lock

net/ceph/osdmap.c osdmap_decode() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 *p 4096-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 8
BUF_SIZE 1 pv 8
DATA_SOURCE 0 p $0
NOCHECK_CALL
UNITS 2 n unit_byte
LOCK2 &osdc->lock
TYPE_LOCK (struct ceph_osd_client)->lock

net/ceph/osd_client.c ceph_osdc_handle_map() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 2926844899571900416
PARAM_VALUE 0 *p 0-ptr_max
PARAM_VALUE 1 pv 2231153726349733888
PARAM_VALUE 2 n 16
BUF_SIZE 1 pv 16
NOCHECK_CALL
UNITS 2 n unit_byte
LOCK2 &osdc->lock
TYPE_LOCK (struct ceph_osd_client)->lock

net/ceph/osd_client.c decode_watcher() -> ceph_decode_copy()

Type Parameter Key Value
PARAM_VALUE 0 p 4188072042091532288
PARAM_VALUE 0 *p 4096-ptr_max
PARAM_VALUE 0 *(*p) (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 pv 4096-ptr_max
PARAM_VALUE 2 n 9
BUF_SIZE 1 pv 9
CAPPED_DATA 0 *p 1
DATA_SOURCE 0 p $0
PREEMPT_ADD
NOCHECK_CALL
UNITS 2 n unit_byte
LOCK2 &pool->lock
LOCK2 &rbd_dev->lock_rwsem
TYPE_LOCK (struct rbd_device)->lock_rwsem