Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 dst 9114514890469298176
PARAM_VALUE 1 src 9114514890469298176
PARAM_VALUE 2 data_len 16
PARAM_VALUE 3 authtag 9114514890469298192
PARAM_VALUE 4 ad 7381403979526352896
PARAM_VALUE 5 ad_len 16
PARAM_VALUE 6 nonce 4088521165486174208
PARAM_VALUE 7 nonce_len 13
PARAM_VALUE 8 key 7256989838953689088
PARAM_VALUE 8 key->aes.len 16
PARAM_VALUE 8 key->aes.nrounds 10,12,14
PARAM_VALUE 8 key->authtag_len 16
BUF_SIZE 0 dst 32
BUF_SIZE 1 src 32
BUF_SIZE 3 authtag 16
BUF_SIZE 4 ad 16
BUF_SIZE 6 nonce 16
UNITS 2 data_len unit_byte
UNITS 5 ad_len unit_byte

lib/crypto/tests/aes_ccm_kunit.c aead_do_basic_checks() -> aes_ccm_decrypt()

Type Parameter Key Value
PARAM_VALUE 2 data_len 64
PARAM_VALUE 3 authtag 4080-18446744073709547516
PARAM_VALUE 5 ad_len 16
PARAM_VALUE 6 nonce 4083-18446744073709547513
PARAM_VALUE 7 nonce_len 7-13
PARAM_VALUE 8 key 4096-ptr_max
PARAM_VALUE 8 key->aes.len 16,24,32
PARAM_VALUE 8 key->aes.nrounds 10,12,14
PARAM_VALUE 8 key->authtag_len 4,6,8,10,12,14,16
BUF_SIZE 0 dst 64
BUF_SIZE 1 src 64
BUF_SIZE 4 ad 16
CAPPED_DATA 7 nonce_len 1
CAPPED_DATA 7 nonce_len 1
DATA_SOURCE 7 nonce_len $3
UNITS 2 data_len unit_byte
UNITS 5 ad_len unit_byte

lib/crypto/tests/aes_ccm_kunit.c aead_do_basic_checks() -> aes_ccm_decrypt()

Type Parameter Key Value
PARAM_VALUE 0 dst 1-u64max
PARAM_VALUE 2 data_len 64
PARAM_VALUE 3 authtag 4096-18446744073709547516
PARAM_VALUE 5 ad_len 16
PARAM_VALUE 6 nonce 4083-18446744073709547513
PARAM_VALUE 7 nonce_len 7-13
PARAM_VALUE 8 key 4096-ptr_max
PARAM_VALUE 8 key->aes.len 16,24,32
PARAM_VALUE 8 key->aes.nrounds 10,12,14
PARAM_VALUE 8 key->authtag_len 4,6,8,10,12,14,16
BUF_SIZE 0 dst 64
BUF_SIZE 1 src 64
BUF_SIZE 4 ad 16
CAPPED_DATA 7 nonce_len 1
CAPPED_DATA 7 nonce_len 1
DATA_SOURCE 7 nonce_len $3
UNITS 2 data_len unit_byte
UNITS 5 ad_len unit_byte

lib/crypto/tests/aes_ccm_kunit.c aead_irq_test_func() -> aes_ccm_decrypt()

Type Parameter Key Value
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 data_len 256
PARAM_VALUE 3 authtag 4096-ptr_max
PARAM_VALUE 5 ad_len 256
PARAM_VALUE 7 nonce_len 13
PARAM_VALUE 8 key 4096-ptr_max
BUF_SIZE 0 dst 272
BUF_SIZE 1 src 272
BUF_SIZE 3 authtag 16
BUF_SIZE 4 ad 256
BUF_SIZE 6 nonce 13
RX_PATH
TASK_NOT_RUNNING
UNITS 2 data_len unit_byte
UNITS 5 ad_len unit_byte
UNITS 7 nonce_len unit_byte

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

Type Parameter Key Value
PARAM_VALUE 2 data_len 64
PARAM_VALUE 3 authtag 1-u64max
PARAM_VALUE 5 ad_len 16
PARAM_VALUE 6 nonce 1-u64max
PARAM_VALUE 7 nonce_len 0-6,14,26,u32max,u64max
PARAM_VALUE 8 key 4096-ptr_max
PARAM_VALUE 8 key->aes.len 32
PARAM_VALUE 8 key->aes.nrounds 10,12,14
PARAM_VALUE 8 key->authtag_len 16
BUF_SIZE 0 dst 64
BUF_SIZE 1 src 64
BUF_SIZE 4 ad 16
DATA_SOURCE 7 nonce_len $2
HARD_MAX 7 nonce_len u64max
UNITS 2 data_len unit_byte
UNITS 5 ad_len unit_byte

lib/crypto/tests/aes_ccm_kunit.c benchmark_aead() -> aes_ccm_decrypt()

Type Parameter Key Value
PARAM_VALUE 0 dst 16,4096-ptr_max
PARAM_VALUE 1 src 16,4096-ptr_max
PARAM_VALUE 2 data_len 16384
PARAM_VALUE 3 authtag 16,4096-ptr_max
PARAM_VALUE 4 ad 16,4096-ptr_max
PARAM_VALUE 5 ad_len 16
PARAM_VALUE 6 nonce 16,4096-ptr_max
PARAM_VALUE 7 nonce_len 13
PARAM_VALUE 8 key 4096-ptr_max
PARAM_VALUE 8 key->aes.k->rndkeys 0-255
PARAM_VALUE 8 key->aes.len 32
PARAM_VALUE 8 key->aes.nrounds 10,12,14
PARAM_VALUE 8 key->authtag_len 16
BUF_SIZE 0 dst s32min-s32max
BUF_SIZE 1 src 16384
BUF_SIZE 1 src 16384
BUF_SIZE 3 authtag 16
BUF_SIZE 3 authtag 16
BUF_SIZE 4 ad s32min-s32max
BUF_SIZE 6 nonce s32min-s32max
BUF_SIZE 8 key 264
DATA_SOURCE 0 dst r aead_alloc_random_data
DATA_SOURCE 1 src r alloc_buf
DATA_SOURCE 3 authtag r alloc_buf
DATA_SOURCE 4 ad r aead_alloc_random_data
DATA_SOURCE 6 nonce r aead_alloc_random_data
DATA_SOURCE 8 key r alloc_buf

lib/crypto/tests/aes_ccm_kunit.c benchmark_aead() -> aes_ccm_decrypt()

Type Parameter Key Value
PARAM_VALUE 0 dst 16,4096-ptr_max
PARAM_VALUE 1 src 16,4096-ptr_max
PARAM_VALUE 2 data_len 0-16384
PARAM_VALUE 3 authtag 16,4096-ptr_max
PARAM_VALUE 4 ad 16,4096-ptr_max
PARAM_VALUE 5 ad_len 16
PARAM_VALUE 6 nonce 16,4096-ptr_max
PARAM_VALUE 7 nonce_len 13
PARAM_VALUE 8 key 4096-ptr_max
PARAM_VALUE 8 key->aes.k->rndkeys 0-255
PARAM_VALUE 8 key->aes.len 32
PARAM_VALUE 8 key->aes.nrounds 10,12,14
PARAM_VALUE 8 key->authtag_len 16
BUF_SIZE 0 dst s32min-s32max
BUF_SIZE 1 src 16384
BUF_SIZE 1 src 16384
BUF_SIZE 3 authtag 16
BUF_SIZE 3 authtag 16
BUF_SIZE 4 ad s32min-s32max
BUF_SIZE 6 nonce s32min-s32max
BUF_SIZE 8 key 264
CAPPED_DATA 2 data_len 1
CAPPED_DATA 2 data_len 1
DATA_SOURCE 0 dst r aead_alloc_random_data
DATA_SOURCE 1 src r alloc_buf
DATA_SOURCE 3 authtag r alloc_buf
DATA_SOURCE 4 ad r aead_alloc_random_data
DATA_SOURCE 6 nonce r aead_alloc_random_data
DATA_SOURCE 8 key r alloc_buf
PREEMPT_ADD <- disables preempt

lib/crypto/tests/aes_ccm_kunit.c test_aead_alignment_consistency() -> aes_ccm_decrypt()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 data_len 0-4096
PARAM_VALUE 3 authtag 4096-ptr_max
PARAM_VALUE 4 ad 4096-ptr_max
PARAM_VALUE 5 ad_len 0-4096
PARAM_VALUE 6 nonce 4096-ptr_max
PARAM_VALUE 7 nonce_len 13
PARAM_VALUE 8 key 4096-ptr_max
PARAM_VALUE 8 key->aes.k->rndkeys 0-255
PARAM_VALUE 8 key->aes.len 32
PARAM_VALUE 8 key->aes.nrounds 10,12,14
PARAM_VALUE 8 key->authtag_len 16
BUF_SIZE 8 key 264
CAPPED_DATA 2 data_len 1
CAPPED_DATA 2 data_len 1
CAPPED_DATA 5 ad_len 1
CAPPED_DATA 5 ad_len 1
DATA_SOURCE 2 data_len r rand_length
DATA_SOURCE 5 ad_len r rand_length
DATA_SOURCE 8 key r alloc_buf

lib/crypto/tests/aes_ccm_kunit.c test_aead_alignment_consistency() -> aes_ccm_decrypt()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 data_len 0-4096
PARAM_VALUE 3 authtag 4096-ptr_max
PARAM_VALUE 4 ad 4096-ptr_max
PARAM_VALUE 5 ad_len 0-4096
PARAM_VALUE 6 nonce 4096-ptr_max
PARAM_VALUE 7 nonce_len 13
PARAM_VALUE 8 key 4096-ptr_max
PARAM_VALUE 8 key->aes.k->rndkeys 0-255
PARAM_VALUE 8 key->aes.len 32
PARAM_VALUE 8 key->aes.nrounds 10,12,14
PARAM_VALUE 8 key->authtag_len 16
BUF_SIZE 8 key 264
CAPPED_DATA 2 data_len 1
CAPPED_DATA 2 data_len 1
CAPPED_DATA 5 ad_len 1
CAPPED_DATA 5 ad_len 1
DATA_SOURCE 2 data_len r rand_length
DATA_SOURCE 5 ad_len r rand_length
DATA_SOURCE 8 key r alloc_buf

lib/crypto/tests/aes_ccm_kunit.c test_aead_data_buffer_overruns() -> aes_ccm_decrypt()

Type Parameter Key Value
PARAM_VALUE 2 data_len 0-1024
PARAM_VALUE 3 authtag 16,4096-ptr_max
PARAM_VALUE 4 ad 3584-ptr_max
PARAM_VALUE 5 ad_len 0-512
PARAM_VALUE 6 nonce 16,4096-ptr_max
PARAM_VALUE 7 nonce_len 13
PARAM_VALUE 8 key 4096-ptr_max
PARAM_VALUE 8 key->aes.k->rndkeys 0-255
PARAM_VALUE 8 key->aes.len 16,24,32
PARAM_VALUE 8 key->aes.nrounds 10,12,14
PARAM_VALUE 8 key->authtag_len 4,6,8,10,12,14,16
BUF_SIZE 3 authtag 4,6,8,10,12,14,16
BUF_SIZE 3 authtag 4,6,8,10,12,14,16
BUF_SIZE 6 nonce s32min-s32max
BUF_SIZE 8 key s32min-s32max
CAPPED_DATA 2 data_len 1
CAPPED_DATA 2 data_len 1
CAPPED_DATA 5 ad_len 1
CAPPED_DATA 5 ad_len 1
DATA_SOURCE 2 data_len r rand_length
DATA_SOURCE 3 authtag r alloc_buf
DATA_SOURCE 5 ad_len r rand_length
DATA_SOURCE 6 nonce r aead_alloc_random_data
DATA_SOURCE 8 key r aead_alloc_random_key

lib/crypto/tests/aes_ccm_kunit.c test_aead_incremental_updates() -> aes_ccm_decrypt()

Type Parameter Key Value
PARAM_VALUE 0 dst 16,4096-ptr_max
PARAM_VALUE 1 src 16,4096-ptr_max
PARAM_VALUE 2 data_len 0-1024
PARAM_VALUE 3 authtag 16,4096-ptr_max
PARAM_VALUE 4 ad 16,4096-ptr_max
PARAM_VALUE 5 ad_len 0-512
PARAM_VALUE 6 nonce 16,4096-ptr_max
PARAM_VALUE 7 nonce_len 13
PARAM_VALUE 8 key 4096-ptr_max
PARAM_VALUE 8 key->aes.k->rndkeys 0-255
PARAM_VALUE 8 key->aes.len 16,24,32
PARAM_VALUE 8 key->aes.nrounds 10,12,14
PARAM_VALUE 8 key->authtag_len 4,6,8,10,12,14,16
BUF_SIZE 0 dst 1024
BUF_SIZE 0 dst 1024
BUF_SIZE 1 src 1024
BUF_SIZE 1 src 1024
BUF_SIZE 3 authtag 4,6,8,10,12,14,16
BUF_SIZE 3 authtag 4,6,8,10,12,14,16
BUF_SIZE 4 ad s32min-s32max
BUF_SIZE 6 nonce s32min-s32max
BUF_SIZE 8 key s32min-s32max
CAPPED_DATA 2 data_len 1
CAPPED_DATA 2 data_len 1
CAPPED_DATA 5 ad_len 1
CAPPED_DATA 5 ad_len 1
DATA_SOURCE 0 dst r alloc_buf
DATA_SOURCE 1 src r alloc_buf
DATA_SOURCE 2 data_len r rand_length
DATA_SOURCE 3 authtag r alloc_buf
DATA_SOURCE 4 ad r aead_alloc_random_data
DATA_SOURCE 5 ad_len r rand_length
DATA_SOURCE 6 nonce r aead_alloc_random_data
DATA_SOURCE 8 key r aead_alloc_random_key

lib/crypto/tests/aes_ccm_kunit.c test_aead_inplace() -> aes_ccm_decrypt()

Type Parameter Key Value
PARAM_VALUE 0 dst 16,4096-ptr_max
PARAM_VALUE 1 src 16,4096-ptr_max
PARAM_VALUE 2 data_len 0-1024
PARAM_VALUE 3 authtag 4096-ptr_max
PARAM_VALUE 4 ad 16,4096-ptr_max
PARAM_VALUE 5 ad_len 0-512
PARAM_VALUE 6 nonce 16,4096-ptr_max
PARAM_VALUE 7 nonce_len 13
PARAM_VALUE 8 key 4096-ptr_max
PARAM_VALUE 8 key->aes.k->rndkeys 0-255
PARAM_VALUE 8 key->aes.len 16,24,32
PARAM_VALUE 8 key->aes.nrounds 10,12,14
PARAM_VALUE 8 key->authtag_len 4,6,8,10,12,14,16
BUF_SIZE 0 dst 1028,1030,1032,1034,1036,1038,1040
BUF_SIZE 0 dst 1028,1030,1032,1034,1036,1038,1040
BUF_SIZE 1 src s32min-s32max
BUF_SIZE 4 ad s32min-s32max
BUF_SIZE 6 nonce s32min-s32max
BUF_SIZE 8 key s32min-s32max
CAPPED_DATA 2 data_len 1
CAPPED_DATA 2 data_len 1
CAPPED_DATA 5 ad_len 1
CAPPED_DATA 5 ad_len 1
DATA_SOURCE 0 dst r alloc_buf
DATA_SOURCE 1 src r aead_alloc_random_data
DATA_SOURCE 2 data_len r rand_length
DATA_SOURCE 4 ad r aead_alloc_random_data
DATA_SOURCE 5 ad_len r rand_length
DATA_SOURCE 6 nonce r aead_alloc_random_data
DATA_SOURCE 8 key r aead_alloc_random_key

lib/crypto/tests/aes_ccm_kunit.c test_aead_inplace() -> aes_ccm_decrypt()

Type Parameter Key Value
PARAM_VALUE 0 dst 16,4096-ptr_max
PARAM_VALUE 1 src 16,4096-ptr_max
PARAM_VALUE 2 data_len 0-1024
PARAM_VALUE 3 authtag 4096-ptr_max
PARAM_VALUE 4 ad 16,4096-ptr_max
PARAM_VALUE 5 ad_len 0-512
PARAM_VALUE 6 nonce 16,4096-ptr_max
PARAM_VALUE 7 nonce_len 13
PARAM_VALUE 8 key 4096-ptr_max
PARAM_VALUE 8 key->aes.k->rndkeys 0-255
PARAM_VALUE 8 key->aes.len 16,24,32
PARAM_VALUE 8 key->aes.nrounds 10,12,14
PARAM_VALUE 8 key->authtag_len 4,6,8,10,12,14,16
BUF_SIZE 0 dst s32min-s32max
BUF_SIZE 1 src s32min-s32max
BUF_SIZE 4 ad s32min-s32max
BUF_SIZE 6 nonce s32min-s32max
BUF_SIZE 8 key s32min-s32max
CAPPED_DATA 2 data_len 1
CAPPED_DATA 2 data_len 1
CAPPED_DATA 5 ad_len 1
CAPPED_DATA 5 ad_len 1
DATA_SOURCE 0 dst r aead_alloc_random_data
DATA_SOURCE 1 src r aead_alloc_random_data
DATA_SOURCE 2 data_len r rand_length
DATA_SOURCE 4 ad r aead_alloc_random_data
DATA_SOURCE 5 ad_len r rand_length
DATA_SOURCE 6 nonce r aead_alloc_random_data
DATA_SOURCE 8 key r aead_alloc_random_key

lib/crypto/tests/aes_ccm_kunit.c test_aead_monte_carlo() -> aes_ccm_decrypt()

Type Parameter Key Value
PARAM_VALUE 0 dst 16,4096-ptr_max
PARAM_VALUE 1 src 16,4096-ptr_max
PARAM_VALUE 2 data_len 0-1024
PARAM_VALUE 3 authtag 2099146461009719296
PARAM_VALUE 4 ad 16,4096-ptr_max
PARAM_VALUE 5 ad_len 0-292
PARAM_VALUE 6 nonce 3440479544059969536
PARAM_VALUE 7 nonce_len 7-13
PARAM_VALUE 8 key 4096-ptr_max
PARAM_VALUE 8 key->aes.k->rndkeys 0-255
PARAM_VALUE 8 key->aes.len 16,24,32
PARAM_VALUE 8 key->aes.nrounds 10,12,14
PARAM_VALUE 8 key->authtag_len 4,6,8,10,12,14,16
BUF_SIZE 0 dst 1024
BUF_SIZE 0 dst 1024
BUF_SIZE 1 src 1024
BUF_SIZE 1 src 1024
BUF_SIZE 3 authtag 16
BUF_SIZE 4 ad 293
BUF_SIZE 4 ad 293
BUF_SIZE 6 nonce 13
BUF_SIZE 8 key 264
CAPPED_DATA 2 data_len 1
CAPPED_DATA 2 data_len 1
CAPPED_DATA 5 ad_len 1
CAPPED_DATA 5 ad_len 1
CAPPED_DATA 7 nonce_len 1
CAPPED_DATA 7 nonce_len 1
DATA_SOURCE 0 dst r alloc_buf
DATA_SOURCE 1 src r alloc_buf
DATA_SOURCE 4 ad r alloc_buf
DATA_SOURCE 8 key r alloc_buf
FUZZY_MAX 2 data_len 1024
FUZZY_MAX 5 ad_len 292
HARD_MAX 2 data_len 1024
HARD_MAX 5 ad_len 292

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

Type Parameter Key Value
PARAM_VALUE 0 dst 0
PARAM_VALUE 1 src 0
PARAM_VALUE 2 data_len 1-u64max
PARAM_VALUE 3 authtag 0
PARAM_VALUE 4 ad 0
PARAM_VALUE 5 ad_len 0
PARAM_VALUE 6 nonce 2240962035984670720
PARAM_VALUE 7 nonce_len 7-13
PARAM_VALUE 8 key 16,4096-ptr_max
PARAM_VALUE 8 key->aes.k->rndkeys 0-255
PARAM_VALUE 8 key->aes.len 32
PARAM_VALUE 8 key->aes.nrounds 10,12,14
PARAM_VALUE 8 key->authtag_len 16
BUF_SIZE 6 nonce 13
BUF_SIZE 8 key 264
CAPPED_DATA 2 data_len 1
DATA_SOURCE 8 key r alloc_buf

lib/crypto/tests/aes_ccm_kunit.c test_aes_ccm_one_test_vector() -> aes_ccm_decrypt()

Type Parameter Key Value
PARAM_VALUE 0 dst 16,4096-ptr_max
PARAM_VALUE 1 src 16,4096-ptr_max
PARAM_VALUE 2 data_len 4,16,20,23-25,32
PARAM_VALUE 3 authtag 16,4096-ptr_max
PARAM_VALUE 5 ad_len 8,12,16,20,65536
PARAM_VALUE 7 nonce_len 7-8,12-13
PARAM_VALUE 8 key 6403024508372566016
PARAM_VALUE 8 key->aes.len 16
PARAM_VALUE 8 key->aes.nrounds 10,12,14
PARAM_VALUE 8 key->authtag_len 4,6,8,10,14
BUF_SIZE 0 dst 4,16,20,23-25,32
BUF_SIZE 0 dst 4,16,20,23-25,32
BUF_SIZE 1 src 4,16,20,23-25,32
BUF_SIZE 1 src 4,16,20,23-25,32
BUF_SIZE 3 authtag 4,6,8,10,14
BUF_SIZE 3 authtag 4,6,8,10,14
CAPPED_DATA 2 data_len 1
CAPPED_DATA 2 data_len 1
DATA_SOURCE 0 dst r alloc_buf
DATA_SOURCE 1 src r alloc_buf
DATA_SOURCE 3 authtag r alloc_buf
NO_OVERFLOW_SIMPLE 8 key->aes.len