[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <VI1PR0402MB34858358EB89E8DF051729E598190@VI1PR0402MB3485.eurprd04.prod.outlook.com>
Date: Fri, 31 May 2019 05:54:37 +0000
From: Horia Geanta <horia.geanta@....com>
To: Iuliana Prodan <iuliana.prodan@....com>,
Ard Biesheuvel <ard.biesheuvel@...aro.org>,
Herbert Xu <herbert@...dor.apana.org.au>
CC: Eric Biggers <ebiggers@...nel.org>,
"David S. Miller" <davem@...emloft.net>,
Sascha Hauer <s.hauer@...gutronix.de>,
"linux-crypto@...r.kernel.org" <linux-crypto@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
dl-linux-imx <linux-imx@....com>
Subject: Re: [PATCH] crypto: gcm - fix cacheline sharing
On 5/31/2019 1:00 AM, Iuliana Prodan wrote:
> On 5/30/2019 6:05 PM, Ard Biesheuvel wrote:
>> On Thu, 30 May 2019 at 16:34, Herbert Xu <herbert@...dor.apana.org.au> wrote:
>>>
>>> On Thu, May 30, 2019 at 04:31:09PM +0200, Ard Biesheuvel wrote:
>>>>
>>>> This might work:
>>>
>>> Looks good to me.
>>>
>>
>> Thanks Herbert,
>>
>> But given your remark regarding CBC being the only algo that has this
>> requirement, I wonder if this might be sufficient as well.
>>
>> diff --git a/drivers/crypto/caam/caamalg.c b/drivers/crypto/caam/caamalg.c
>> index c0ece44f303b..65b050e3742f 100644
>> --- a/drivers/crypto/caam/caamalg.c
>> +++ b/drivers/crypto/caam/caamalg.c
>> @@ -1844,7 +1844,7 @@ static int skcipher_decrypt(struct skcipher_request *req)
>> * The crypto API expects us to set the IV (req->iv) to the last
>> * ciphertext block.
>> */
>> - if (ivsize)
>> + if (ctx->cdata.algtype & OP_ALG_AAI_CBC)
>> scatterwalk_map_and_copy(req->iv, req->src, req->cryptlen -
>> ivsize, ivsize, 0);
>>
>>
>> Iulia, Horia?
>>
> I can confirm that gcm (and ccm), with ctr-aes-caam, is passing with the
> above fix.
>
The check should be:
if ((ctx->cdata.algtype & OP_ALG_AAI_MASK) == OP_ALG_AAI_CBC)
Having this workaround is probably ok, until we properly fix the IV update for
CTR mode.
Thanks,
Horia
Powered by blists - more mailing lists