[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DB4PR04MB08471753F3A712A732373E0598A70@DB4PR04MB0847.eurprd04.prod.outlook.com>
Date: Mon, 7 Nov 2016 07:13:38 +0000
From: Horia Geanta Neag <horia.geanta@....com>
To: Sven Ebenfeld <sven.ebenfeld@...il.com>,
"linux-crypto@...r.kernel.org" <linux-crypto@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
CC: "herbert@...dor.apana.org.au" <herbert@...dor.apana.org.au>,
"davem@...emloft.net" <davem@...emloft.net>,
Cata Vasile <cata.vasile@....com>
Subject: Re: [PATCH] crypto: caam: do not register AES-XTS mode on LP units
On 11/5/2016 1:17 AM, Sven Ebenfeld wrote:
> When using AES-XTS on a Wandboard, we receive a Mode error:
> caam_jr 2102000.jr1: 20001311: CCB: desc idx 19: AES: Mode error.
>
> Due to the Security Reference Manual, the Low Power AES units
s/Due to/According to
> of the i.MX6 do not support the XTS mode. Therefore we should
> try to provide them them in the API.
>
Rephrase: Therefore we mustn't register XTS implementations to Crypto
API in this case.
> Signed-off-by: Sven Ebenfeld <sven.ebenfeld@...il.com>
Reviewed-by: Horia Geantă <horia.geanta@....com>
Please send the patch to -stable and mention the offending commit:
Cc: <stable@...r.kernel.org> # 4.4+
Fixes: c6415a6016bf "crypto: caam - add support for acipher xts(aes)"
Thanks,
Horia
> ---
> drivers/crypto/caam/caamalg.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/crypto/caam/caamalg.c b/drivers/crypto/caam/caamalg.c
> index 156aad1..f5a63ba 100644
> --- a/drivers/crypto/caam/caamalg.c
> +++ b/drivers/crypto/caam/caamalg.c
> @@ -4583,6 +4583,15 @@ static int __init caam_algapi_init(void)
> if (!aes_inst && (alg_sel == OP_ALG_ALGSEL_AES))
> continue;
>
> + /*
> + * Check support for AES modes not available
> + * on LP devices.
> + */
> + if ((cha_vid & CHA_ID_LS_AES_MASK) == CHA_ID_LS_AES_LP)
> + if ((alg->class1_alg_type & OP_ALG_AAI_MASK) ==
> + OP_ALG_AAI_XTS)
> + continue;
> +
> t_alg = caam_alg_alloc(alg);
> if (IS_ERR(t_alg)) {
> err = PTR_ERR(t_alg);
>
Powered by blists - more mailing lists