crypto/qat: fix block size error handling

Error code of qat_hash_get_block_size needs to be handle properly.

Fixes: 10b49880e3 ("crypto/qat: make the session struct variable in size")
Cc: stable@dpdk.org

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Tested-by: Marko Kovacevic <marko.kovacevic@intel.com>
Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
This commit is contained in:
Arek Kusztal 2018-12-12 20:59:02 +01:00 committed by Akhil Goyal
parent f1bd2f4c74
commit 93685b1fbf

View File

@ -1143,8 +1143,8 @@ static int qat_sym_do_precomputes(enum icp_qat_hw_auth_algo hash_alg,
}
block_size = qat_hash_get_block_size(hash_alg);
if (block_size <= 0)
return -EFAULT;
if (block_size < 0)
return block_size;
/* init ipad and opad from key and xor with fixed values */
memset(ipad, 0, block_size);
memset(opad, 0, block_size);
@ -1490,9 +1490,13 @@ int qat_sym_session_aead_create_cd_auth(struct qat_sym_session *cdesc,
|| cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_AES_XCBC_MAC
)
hash->auth_counter.counter = 0;
else
hash->auth_counter.counter = rte_bswap32(
qat_hash_get_block_size(cdesc->qat_hash_alg));
else {
int block_size = qat_hash_get_block_size(cdesc->qat_hash_alg);
if (block_size < 0)
return block_size;
hash->auth_counter.counter = rte_bswap32(block_size);
}
cdesc->cd_cur_ptr += sizeof(struct icp_qat_hw_auth_setup);