Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

crypto/ecc.c crypto_ecdh_shared_secret() -> ecc_point_mult()

Type Parameter Key Value
PARAM_VALUE 0 result 4096-ptr_max
PARAM_VALUE 0 result->ndigits 1-9
PARAM_VALUE 0 result->x 4096-ptr_max
PARAM_VALUE 0 result->y 4096-ptr_max
PARAM_VALUE 1 point 4096-ptr_max
PARAM_VALUE 1 point->ndigits 1-9
PARAM_VALUE 1 point->x 4096-ptr_max
PARAM_VALUE 1 point->y 4096-ptr_max
PARAM_VALUE 2 scalar 1-u64max
PARAM_VALUE 3 initial_z 8730114843104108544
PARAM_VALUE 4 curve 325837335109206016,6244681601168982016,7021259536947654656,9167059437627596800
PARAM_VALUE 5 ndigits 1-9
BUF_SIZE 0 result 24
BUF_SIZE 1 point 24
BUF_SIZE 2 scalar 72
BUF_SIZE 2 scalar 72
BUF_SIZE 3 initial_z 72
BUF_SIZE 4 curve (-1),72
BUF_SIZE 4 curve (-1),72
CAPPED_DATA 0 result->ndigits 1
CAPPED_DATA 1 point->ndigits 1
CAPPED_DATA 4 curve->g.ndigits 1
CAPPED_DATA 5 ndigits 1
DATA_SOURCE 0 result r ecc_alloc_point
DATA_SOURCE 1 point r ecc_alloc_point
DATA_SOURCE 2 scalar $2
DATA_SOURCE 4 curve r ecc_get_curve
DATA_SOURCE 5 ndigits $1 [m]
PARAM_COMPARE 4 curve->g.ndigits == $1->ndigits
HARD_MAX 5 ndigits 9
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 5 ndigits unit_array_size
HALF_LOCKED2 &chip->ops_sem
HALF_LOCKED2 &chip->tpm_mutex

crypto/ecc.c ecc_is_pubkey_valid_full() -> ecc_point_mult()

Type Parameter Key Value
PARAM_VALUE 0 result 4096-ptr_max
PARAM_VALUE 0 result->ndigits 1-255
PARAM_VALUE 0 result->x 4096-ptr_max
PARAM_VALUE 0 result->y 4096-ptr_max
PARAM_VALUE 1 point 4096-ptr_max
PARAM_VALUE 1 point->ndigits 1-255
PARAM_VALUE 2 scalar 0,4096-ptr_max
PARAM_VALUE 3 initial_z 0
PARAM_VALUE 4 curve 325837335109206016,6244681601168982016,7021259536947654656,9167059437627596800
PARAM_VALUE 4 curve->n 0,4096-ptr_max
PARAM_VALUE 4 curve->p 4096-ptr_max
PARAM_VALUE 5 ndigits 1-255
BUF_SIZE 0 result 24
BUF_SIZE 1 point (-1),24
BUF_SIZE 1 point (-1),24
BUF_SIZE 4 curve (-1),72
BUF_SIZE 4 curve (-1),72
CAPPED_DATA 0 result->ndigits 1
CAPPED_DATA 1 point->ndigits 1
CAPPED_DATA 4 curve->g.ndigits 1
CAPPED_DATA 5 ndigits 1
DATA_SOURCE 0 result r ecc_alloc_point
DATA_SOURCE 1 point $1
DATA_SOURCE 4 curve $0
PARAM_COMPARE 4 curve->g.ndigits == $1->ndigits
PARAM_COMPARE 5 ndigits == $4->g.ndigits
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 5 ndigits unit_array_size

crypto/ecc.c ecc_make_pub_key() -> ecc_point_mult()

Type Parameter Key Value
PARAM_VALUE 0 result 4096-ptr_max
PARAM_VALUE 0 result->ndigits 1-255
PARAM_VALUE 0 result->x 4096-ptr_max
PARAM_VALUE 0 result->y 4096-ptr_max
PARAM_VALUE 1 point 16,325837335109206032,6244681601168982032,7021259536947654672,9167059437627596816
PARAM_VALUE 2 scalar 1-u64max
PARAM_VALUE 3 initial_z 0
PARAM_VALUE 4 curve 0,325837335109206016,6244681601168982016,7021259536947654656,9167059437627596800
PARAM_VALUE 5 ndigits 1-u32max
BUF_SIZE 0 result 24
BUF_SIZE 2 scalar 72
BUF_SIZE 2 scalar 72
BUF_SIZE 4 curve (-1),72
BUF_SIZE 4 curve (-1),72
DATA_SOURCE 0 result r ecc_alloc_point
DATA_SOURCE 2 scalar $2
DATA_SOURCE 4 curve r ecc_get_curve
DATA_SOURCE 5 ndigits $1 [m]
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &chip->ops_sem
HALF_LOCKED2 &chip->tpm_mutex