Defined in 1 files as a prototype:

Defined in 7 files as a function:

Referenced in 8 files:

Smatch caller information:

net/mac80211/wpa.c ieee80211_aes_ccm_decrypt() -> aead_decrypt()

Type Parameter Key Value
PARAM_VALUE 1 b_0 4096-ptr_max
PARAM_VALUE 3 aad_len 0-u16max
PARAM_VALUE 4 data 4096-ptr_max
PARAM_VALUE 5 data_len 0-s32max
BUF_SIZE 1 b_0 16
BUF_SIZE 1 b_0 16
BUF_SIZE 2 aad 30
DATA_SOURCE 0 req $0
DATA_SOURCE 1 b_0 $1
DATA_SOURCE 4 data $3
DATA_SOURCE 5 data_len $4
DATA_SOURCE 6 mic $5
RX_PATH
USER_DATA 4 *data 0-255
UNITS 4 data unit_byte
UNITS 5 data_len unit_byte
UNITS 6 mic unit_byte
USER_PTR 4 data

net/mac80211/wpa.c ieee80211_aes_gcm_decrypt() -> aead_decrypt()

Type Parameter Key Value
PARAM_VALUE 1 b_0 4096-ptr_max
PARAM_VALUE 3 aad_len 0-u16max
PARAM_VALUE 4 data 4096-ptr_max
PARAM_VALUE 5 data_len 0-s32max
BUF_SIZE 1 b_0 16
BUF_SIZE 1 b_0 16
BUF_SIZE 2 aad 30
DATA_SOURCE 0 req $0
DATA_SOURCE 1 b_0 $1
DATA_SOURCE 4 data $3
DATA_SOURCE 5 data_len $4
DATA_SOURCE 6 mic $5
RX_PATH
USER_DATA 4 *data 0-255
UNITS 4 data unit_byte
UNITS 5 data_len unit_byte
UNITS 6 mic unit_byte
USER_PTR 4 data

drivers/crypto/caam/caamalg_qi2.c ipsec_gcm_decrypt() -> aead_decrypt()

Type Parameter Key Value
PARAM_VALUE 0 req 4096-ptr_max
PARAM_VALUE 0 req->assoclen 16,20
BUF_SIZE 0 req (-1)-s32max
BUF_SIZE 0 req (-1)-s32max
DATA_SOURCE 0 req $0
NOSPEC 0 req->cryptlen
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 req->dst->length 0-2147483646[c]
HOST_DATA 0 req->src->length 0-2147483646[c]
USER_DATA 0 req->cryptlen 0-u32max
USER_DATA 0 req->dst->length 1-u32max[c]
USER_DATA 0 req->dst->offset 0-2147551739[c]
USER_DATA 0 req->src->length 1-u32max[c]
USER_DATA 0 req->src->offset 0-2147551739[c]
USER_DATA 0 *req->iv 0-255
NO_OVERFLOW_SIMPLE 0 req->dst->length
NO_OVERFLOW_SIMPLE 0 req->src->length
USER_PTR 0 req->iv
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 bh

crypto/aead.c crypto_aead_decrypt() -> (struct aead_alg)->decrypt()

Type Parameter Key Value
PARAM_VALUE 0 req 4096-ptr_max
BUF_SIZE 0 req (-1)-s32max
BUF_SIZE 0 req (-1)-s32max
DATA_SOURCE 0 req $0
NOSPEC 0 req->cryptlen
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 req->dst->length 0-2147483646[c]
HOST_DATA 0 req->src->length 0-2147483646[c]
USER_DATA 0 req->cryptlen 0-u32max
USER_DATA 0 req->dst->length 1-2147483646[c]
USER_DATA 0 req->dst->offset 0-2147551739[c]
USER_DATA 0 req->src->length 1-2147483646[c]
USER_DATA 0 req->src->offset 0-2147551739[c]
USER_DATA 0 *req->iv 0-255
NO_OVERFLOW_SIMPLE 0 req->dst->length
NO_OVERFLOW_SIMPLE 0 req->src->length
USER_PTR 0 req->iv
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 rcu_read

crypto/cryptd.c cryptd_aead_crypt() -> cryptd_aead_crypt param 3()

Type Parameter Key Value
PARAM_VALUE 0 req 4096-ptr_max
PARAM_VALUE 0 req->base.complete 0
PARAM_VALUE 0 req->base.data 0
PARAM_VALUE 0 req->base.flags 512
PARAM_VALUE 0 req->base.tfm 4096-ptr_max
BUF_SIZE 0 req 80
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &backlog->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 bh