Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

crypto/aes.c crypto_aes_ccm_init() -> aes_ccm_init()

Type Parameter Key Value
PARAM_VALUE 0 ctx 633072880490749952,9037030287502376960
PARAM_VALUE 3 nonce 4096-ptr_max
PARAM_VALUE 4 nonce_len 7-13
DATA_SOURCE 0 ctx $0
DATA_SOURCE 1 data_len $2
DATA_SOURCE 5 key $3
NOSPEC 1 data_len
NOSPEC 1 data_len
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 data_len 0-u32max
USER_DATA 3 *nonce 0-255
USER_DATA 4 nonce_len 7-13[c]
UNITS 1 data_len unit_byte
UNITS 2 ad_len unit_byte
USER_PTR 3 nonce

lib/crypto/aes.c aes_ccm_decrypt() -> aes_ccm_init()

Type Parameter Key Value
PARAM_VALUE 0 ctx 253126797138399232
PARAM_VALUE 4 nonce_len 0-14,26,u32max,u64max
BUF_SIZE 3 nonce (-1),13,16
BUF_SIZE 3 nonce (-1),13,16
BUF_SIZE 5 key (-1),264
BUF_SIZE 5 key (-1),264
CAPPED_DATA 4 nonce_len 1
CAPPED_DATA 4 nonce_len 1
DATA_SOURCE 1 data_len $2
DATA_SOURCE 2 ad_len $5
DATA_SOURCE 3 nonce $6
DATA_SOURCE 4 nonce_len $7
DATA_SOURCE 5 key $8
FUZZY_MAX 4 nonce_len 13
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 data_len
NO_OVERFLOW_SIMPLE 2 ad_len
NO_OVERFLOW_SIMPLE 4 nonce_len
NO_OVERFLOW_SIMPLE 5 key->aes.len
NO_OVERFLOW_SIMPLE 5 key->authtag_len
UNITS 1 data_len unit_byte
UNITS 2 ad_len unit_byte
UNITS 4 nonce_len unit_byte

lib/crypto/aes.c aes_ccm_encrypt() -> aes_ccm_init()

Type Parameter Key Value
PARAM_VALUE 0 ctx 8665162067663159296
PARAM_VALUE 4 nonce_len 0-14,26,u32max,u64max
BUF_SIZE 3 nonce (-1),13,16
BUF_SIZE 3 nonce (-1),13,16
BUF_SIZE 5 key (-1),264
BUF_SIZE 5 key (-1),264
CAPPED_DATA 4 nonce_len 1
CAPPED_DATA 4 nonce_len 1
DATA_SOURCE 1 data_len $2
DATA_SOURCE 2 ad_len $5
DATA_SOURCE 3 nonce $6
DATA_SOURCE 4 nonce_len $7
DATA_SOURCE 5 key $8
FUZZY_MAX 4 nonce_len 13
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 data_len
NO_OVERFLOW_SIMPLE 2 ad_len
NO_OVERFLOW_SIMPLE 4 nonce_len
NO_OVERFLOW_SIMPLE 5 key->aes.len
NO_OVERFLOW_SIMPLE 5 key->authtag_len
UNITS 1 data_len unit_byte
UNITS 2 ad_len unit_byte
UNITS 4 nonce_len unit_byte

lib/crypto/tests/aes_ccm_kunit.c aead_decrypt_incrementally() -> aes_ccm_init()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 1 data_len 0-1024
PARAM_VALUE 2 ad_len 0-512
PARAM_VALUE 3 nonce 16,4096-ptr_max
PARAM_VALUE 4 nonce_len 13
PARAM_VALUE 5 key 4096-ptr_max
PARAM_VALUE 5 key->aes.k->rndkeys 0-255
PARAM_VALUE 5 key->aes.len 16,24,32
PARAM_VALUE 5 key->aes.nrounds 10,12,14
PARAM_VALUE 5 key->authtag_len 4,6,8,10,12,14,16
BUF_SIZE 0 ctx 96
CAPPED_DATA 1 data_len 1
CAPPED_DATA 1 data_len 1
CAPPED_DATA 2 ad_len 1
CAPPED_DATA 2 ad_len 1
DATA_SOURCE 0 ctx $1
DATA_SOURCE 1 data_len $4
DATA_SOURCE 2 ad_len $7
DATA_SOURCE 3 nonce $8
DATA_SOURCE 4 nonce_len $9
DATA_SOURCE 5 key $10
NO_OVERFLOW_SIMPLE 4 nonce_len

lib/crypto/tests/aes_ccm_kunit.c aead_encrypt_incrementally() -> aes_ccm_init()

Type Parameter Key Value
PARAM_VALUE 0 ctx 16,4096-ptr_max
PARAM_VALUE 1 data_len 0-1024
PARAM_VALUE 2 ad_len 0-512
PARAM_VALUE 3 nonce 16,4096-ptr_max
PARAM_VALUE 4 nonce_len 13
PARAM_VALUE 5 key 16,4096-ptr_max
PARAM_VALUE 5 key->aes.k->rndkeys 0-255
PARAM_VALUE 5 key->aes.len 16,24,32
PARAM_VALUE 5 key->aes.nrounds 10,12,14
PARAM_VALUE 5 key->authtag_len 4,6,8,10,12,14,16
BUF_SIZE 0 ctx 96
CAPPED_DATA 1 data_len 1
CAPPED_DATA 1 data_len 1
CAPPED_DATA 2 ad_len 1
CAPPED_DATA 2 ad_len 1
DATA_SOURCE 0 ctx $1
DATA_SOURCE 1 data_len $4
DATA_SOURCE 2 ad_len $7
DATA_SOURCE 3 nonce $8
DATA_SOURCE 4 nonce_len $9
DATA_SOURCE 5 key $10
NO_OVERFLOW_SIMPLE 4 nonce_len

lib/crypto/tests/aes_ccm_kunit.c aead_verify_invalid_nonce_len() -> aes_ccm_init()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->ad_padded 0
PARAM_VALUE 0 ctx->ad_remaining 0
PARAM_VALUE 0 ctx->data_remaining 0
PARAM_VALUE 0 ctx->key 0
PARAM_VALUE 0 ctx->partial_len 0
PARAM_VALUE 1 data_len 64
PARAM_VALUE 2 ad_len 16
PARAM_VALUE 3 nonce 1-u64max
PARAM_VALUE 4 nonce_len 0-14,26,u32max,u64max
PARAM_VALUE 5 key 4096-ptr_max
PARAM_VALUE 5 key->aes.len 32
PARAM_VALUE 5 key->aes.nrounds 10,12,14
PARAM_VALUE 5 key->authtag_len 16
DATA_SOURCE 4 nonce_len $2
FUZZY_MAX 4 nonce_len 13
HARD_MAX 4 nonce_len u64max
MEM_ZERO 0 ctx
UNITS 1 data_len unit_byte
UNITS 2 ad_len unit_byte

lib/crypto/tests/aes_ccm_kunit.c test_aes_ccm_data_len_too_large() -> aes_ccm_init()

Type Parameter Key Value
PARAM_VALUE 0 ctx 7534600504306388992
PARAM_VALUE 1 data_len 0
PARAM_VALUE 2 ad_len 0
PARAM_VALUE 3 nonce 2240962035984670720
PARAM_VALUE 5 key 16,4096-ptr_max
PARAM_VALUE 5 key->aes.k->rndkeys 0-255
PARAM_VALUE 5 key->aes.len 32
PARAM_VALUE 5 key->aes.nrounds 10,12,14
PARAM_VALUE 5 key->authtag_len 16
BUF_SIZE 3 nonce 13
BUF_SIZE 5 key 264
DATA_SOURCE 5 key r alloc_buf

lib/crypto/tests/aes_ccm_kunit.c test_aes_ccm_data_len_too_large() -> aes_ccm_init()

Type Parameter Key Value
PARAM_VALUE 0 ctx 7534600504306388992
PARAM_VALUE 0 ctx->ad_padded 0
PARAM_VALUE 0 ctx->ad_remaining 0
PARAM_VALUE 0 ctx->data_remaining 0
PARAM_VALUE 0 ctx->key 16,4096-ptr_max
PARAM_VALUE 0 ctx->partial_len 0,2,6,10
PARAM_VALUE 2 ad_len 0
PARAM_VALUE 3 nonce 2240962035984670720
PARAM_VALUE 4 nonce_len 7-13
PARAM_VALUE 5 key 16,4096-ptr_max
PARAM_VALUE 5 key->aes.k->rndkeys 0-255
PARAM_VALUE 5 key->aes.len 32
PARAM_VALUE 5 key->aes.nrounds 10,12,14
PARAM_VALUE 5 key->authtag_len 16
BUF_SIZE 3 nonce 13
BUF_SIZE 5 key 264
DATA_SOURCE 5 key r alloc_buf

lib/crypto/tests/aes_ccm_kunit.c test_aes_ccm_data_len_too_large() -> aes_ccm_init()

Type Parameter Key Value
PARAM_VALUE 0 ctx 7534600504306388992
PARAM_VALUE 0 ctx->ad_padded 0
PARAM_VALUE 0 ctx->ad_remaining 0
PARAM_VALUE 0 ctx->data_remaining 0-18446744073709551614
PARAM_VALUE 0 ctx->key 16,4096-ptr_max
PARAM_VALUE 0 ctx->partial_len 0,2,6,10
PARAM_VALUE 1 data_len 1-u64max
PARAM_VALUE 2 ad_len 0
PARAM_VALUE 3 nonce 2240962035984670720
PARAM_VALUE 4 nonce_len 7-13
PARAM_VALUE 5 key 16,4096-ptr_max
PARAM_VALUE 5 key->aes.k->rndkeys 0-255
PARAM_VALUE 5 key->aes.len 32
PARAM_VALUE 5 key->aes.nrounds 10,12,14
PARAM_VALUE 5 key->authtag_len 16
BUF_SIZE 3 nonce 13
BUF_SIZE 5 key 264
CAPPED_DATA 1 data_len 1
DATA_SOURCE 5 key r alloc_buf

lib/crypto/tests/aes_ccm_kunit.c test_aes_ccm_data_len_too_large() -> aes_ccm_init()

Type Parameter Key Value
PARAM_VALUE 0 ctx 7534600504306388992
PARAM_VALUE 0 ctx->ad_padded 0
PARAM_VALUE 0 ctx->ad_remaining 0
PARAM_VALUE 0 ctx->data_remaining 1-u64max
PARAM_VALUE 0 ctx->key 16,4096-ptr_max
PARAM_VALUE 0 ctx->partial_len 0,2,6,10
PARAM_VALUE 1 data_len u64max
PARAM_VALUE 2 ad_len 0
PARAM_VALUE 3 nonce 2240962035984670720
PARAM_VALUE 4 nonce_len 7-13
PARAM_VALUE 5 key 16,4096-ptr_max
PARAM_VALUE 5 key->aes.k->rndkeys 0-255
PARAM_VALUE 5 key->aes.len 32
PARAM_VALUE 5 key->aes.nrounds 10,12,14
PARAM_VALUE 5 key->authtag_len 16
BUF_SIZE 3 nonce 13
BUF_SIZE 5 key 264
DATA_SOURCE 5 key r alloc_buf