common/cpt: check cipher and auth keys are set

Returning error when cipher and auth key are not getting set

Fixes: 6cc54096520d ("crypto/octeontx: add supported sessions")
Cc: stable@dpdk.org

Signed-off-by: Archana Muniganti <marchana@marvell.com>
Signed-off-by: Anoob Joseph <anoobj@marvell.com>
This commit is contained in:
Archana Muniganti 2020-02-05 18:46:16 +05:30 committed by Akhil Goyal
parent 2839a8abf9
commit e40175c5c5

View File

@ -298,7 +298,7 @@ cpt_fc_ciph_set_key(void *ctx, cipher_type_t type, const uint8_t *key,
cpt_fc_ciph_set_key_kasumi_f8_cbc(cpt_ctx, key, key_len);
goto success;
default:
break;
return -1;
}
/* Only for FC_GEN case */
@ -2616,10 +2616,13 @@ fill_sess_aead(struct rte_crypto_sym_xform *xform,
sess->iv_length = aead_form->iv.length;
sess->aad_length = aead_form->aad_length;
cpt_fc_ciph_set_key(ctx, enc_type, aead_form->key.data,
aead_form->key.length, NULL);
if (unlikely(cpt_fc_ciph_set_key(ctx, enc_type, aead_form->key.data,
aead_form->key.length, NULL)))
return -1;
cpt_fc_auth_set_key(ctx, auth_type, NULL, 0, aead_form->digest_length);
if (unlikely(cpt_fc_auth_set_key(ctx, auth_type, NULL, 0,
aead_form->digest_length)))
return -1;
return 0;
}
@ -2719,8 +2722,9 @@ fill_sess_cipher(struct rte_crypto_sym_xform *xform,
sess->iv_length = c_form->iv.length;
sess->is_null = is_null;
cpt_fc_ciph_set_key(SESS_PRIV(sess), enc_type, c_form->key.data,
c_form->key.length, NULL);
if (unlikely(cpt_fc_ciph_set_key(SESS_PRIV(sess), enc_type,
c_form->key.data, c_form->key.length, NULL)))
return -1;
return 0;
}
@ -2814,8 +2818,10 @@ fill_sess_auth(struct rte_crypto_sym_xform *xform,
sess->auth_iv_offset = a_form->iv.offset;
sess->auth_iv_length = a_form->iv.length;
}
cpt_fc_auth_set_key(SESS_PRIV(sess), auth_type, a_form->key.data,
a_form->key.length, a_form->digest_length);
if (unlikely(cpt_fc_auth_set_key(SESS_PRIV(sess), auth_type,
a_form->key.data, a_form->key.length,
a_form->digest_length)))
return -1;
return 0;
}
@ -2858,9 +2864,13 @@ fill_sess_gmac(struct rte_crypto_sym_xform *xform,
sess->iv_length = a_form->iv.length;
sess->mac_len = a_form->digest_length;
cpt_fc_ciph_set_key(ctx, enc_type, a_form->key.data,
a_form->key.length, NULL);
cpt_fc_auth_set_key(ctx, auth_type, NULL, 0, a_form->digest_length);
if (unlikely(cpt_fc_ciph_set_key(ctx, enc_type, a_form->key.data,
a_form->key.length, NULL)))
return -1;
if (unlikely(cpt_fc_auth_set_key(ctx, auth_type, NULL, 0,
a_form->digest_length)))
return -1;
return 0;
}