[2/3] crypto/qat: fix message for CCM when setting unused counter

Message ID 20181212195904.8160-3-arkadiuszx.kusztal@intel.com (mailing list archive)
State Accepted, archived
Delegated to: akhil goyal
Headers
Series Fix handling of block size in qat for hash |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Arkadiusz Kusztal Dec. 12, 2018, 7:59 p.m. UTC
  AES-CCM algo does not to set counter flag so it should be zeroed.

Fixes: ab56c4d9ed9a ("crypto/qat: support AES-CCM")
Cc: stable@dpdk.org

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
---
 drivers/crypto/qat/qat_sym_session.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Akhil Goyal Dec. 14, 2018, 2:23 p.m. UTC | #1
On 12/13/2018 1:29 AM, Arek Kusztal wrote:
> AES-CCM algo does not to set counter flag so it should be zeroed.
>
> Fixes: ab56c4d9ed9a ("crypto/qat: support AES-CCM")
> Cc: stable@dpdk.org
>
> Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
> ---
>   drivers/crypto/qat/qat_sym_session.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/drivers/crypto/qat/qat_sym_session.c b/drivers/crypto/qat/qat_sym_session.c
> index 272177f..d8cc702 100644
> --- a/drivers/crypto/qat/qat_sym_session.c
> +++ b/drivers/crypto/qat/qat_sym_session.c
> @@ -1488,6 +1488,7 @@ int qat_sym_session_aead_create_cd_auth(struct qat_sym_session *cdesc,
>   		|| cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_KASUMI_F9
>   		|| cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_ZUC_3G_128_EIA3
>   		|| cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_AES_XCBC_MAC
> +		|| cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_AES_CBC_MAC
>   			)
>   		hash->auth_counter.counter = 0;
>   	else {
title and code change do not match.
AES-CCM or AES-CBC??
  
Arkadiusz Kusztal Dec. 14, 2018, 2:39 p.m. UTC | #2
Hi Akhil,

> -----Original Message-----
> From: Akhil Goyal [mailto:akhil.goyal@nxp.com]
> Sent: Friday, December 14, 2018 3:23 PM
> To: Kusztal, ArkadiuszX <arkadiuszx.kusztal@intel.com>
> Cc: dev@dpdk.org; Trahe, Fiona <fiona.trahe@intel.com>; stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH 2/3] crypto/qat: fix message for CCM when
> setting unused counter
> 
> 
> 
> On 12/13/2018 1:29 AM, Arek Kusztal wrote:
> > AES-CCM algo does not to set counter flag so it should be zeroed.
> >
> > Fixes: ab56c4d9ed9a ("crypto/qat: support AES-CCM")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
> > ---
> >   drivers/crypto/qat/qat_sym_session.c | 1 +
> >   1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/crypto/qat/qat_sym_session.c
> b/drivers/crypto/qat/qat_sym_session.c
> > index 272177f..d8cc702 100644
> > --- a/drivers/crypto/qat/qat_sym_session.c
> > +++ b/drivers/crypto/qat/qat_sym_session.c
> > @@ -1488,6 +1488,7 @@ int
> qat_sym_session_aead_create_cd_auth(struct qat_sym_session *cdesc,
> >   		|| cdesc->qat_hash_alg ==
> ICP_QAT_HW_AUTH_ALGO_KASUMI_F9
> >   		|| cdesc->qat_hash_alg ==
> ICP_QAT_HW_AUTH_ALGO_ZUC_3G_128_EIA3
> >   		|| cdesc->qat_hash_alg ==
> ICP_QAT_HW_AUTH_ALGO_AES_XCBC_MAC
> > +		|| cdesc->qat_hash_alg ==
> ICP_QAT_HW_AUTH_ALGO_AES_CBC_MAC
> >   			)
> >   		hash->auth_counter.counter = 0;
> >   	else {
> title and code change do not match.
> AES-CCM or AES-CBC??

CCM is AEAD mode where Counter for cipher and CBC-MAC for hash is used. Hence CBC-MAC for hash. Ref. RFC 3610, SP800-38C.

Thanks,
Arek
  
Kovacevic, Marko Dec. 17, 2018, 12:16 p.m. UTC | #3
Tested-by: Marko Kovacevic <marko.kovacevic@intel.com>
  

Patch

diff --git a/drivers/crypto/qat/qat_sym_session.c b/drivers/crypto/qat/qat_sym_session.c
index 272177f..d8cc702 100644
--- a/drivers/crypto/qat/qat_sym_session.c
+++ b/drivers/crypto/qat/qat_sym_session.c
@@ -1488,6 +1488,7 @@  int qat_sym_session_aead_create_cd_auth(struct qat_sym_session *cdesc,
 		|| cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_KASUMI_F9
 		|| cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_ZUC_3G_128_EIA3
 		|| cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_AES_XCBC_MAC
+		|| cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_AES_CBC_MAC
 			)
 		hash->auth_counter.counter = 0;
 	else {