Re: [PATCH RESEND 1/9] crypto: caam/jr - add fallback for XTS with more than 8B IV

From: Horia Geantă
Date: Tue Sep 08 2020 - 06:37:27 EST


On 8/21/2020 6:47 AM, Herbert Xu wrote:
> On Thu, Aug 06, 2020 at 07:35:43PM +0300, Andrei Botila wrote:
>>
>> +static bool xts_skcipher_ivsize(struct skcipher_request *req)
>> +{
>> + struct crypto_skcipher *skcipher = crypto_skcipher_reqtfm(req);
>> + unsigned int ivsize = crypto_skcipher_ivsize(skcipher);
>> + u64 size = 0;
>> +
>> + if (IS_ALIGNED((unsigned long)req->iv, __alignof__(u64)))
>> + size = *(u64 *)(req->iv + (ivsize / 2));
>> + else
>> + size = get_unaligned((u64 *)(req->iv + (ivsize / 2)));
>> +
>> + return !!size;
>> +}
>
> Just go with the get_unaligned unconditionally.
>
Won't this lead to sub-optimal code for ARMv7
in case the IV is aligned?

Thanks,
Horia