common/cpt: check cipher and auth keys are set
authorArchana Muniganti <marchana@marvell.com>
Wed, 5 Feb 2020 13:16:16 +0000 (18:46 +0530)
committerAkhil Goyal <akhil.goyal@nxp.com>
Wed, 5 Feb 2020 14:29:14 +0000 (15:29 +0100)
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>
drivers/common/cpt/cpt_ucode.h

index 4ef87c2..081249c 100644 (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;
 }