[RFC PATCH 2/2] arm64: add support for AES using ARMv8 Crypto Extensions
Jussi Kivilinna
jussi.kivilinna at iki.fi
Sat Sep 14 10:11:53 EDT 2013
On 14.09.2013 16:30, Ard Biesheuvel wrote:
> On 14 September 2013 10:08, Jussi Kivilinna <jussi.kivilinna at iki.fi> wrote:
>> On 13.09.2013 18:08, Ard Biesheuvel wrote:
>>> This adds ARMv8 Crypto Extensions based implemenations of
>>> AES in CBC, CTR and XTS mode.
>>>
>>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>
>>> ---
>> ..snip..
>>> +static int xts_set_key(struct crypto_tfm *tfm, const u8 *in_key,
>>> + unsigned int key_len)
>>> +{
>>> + struct crypto_aes_xts_ctx *ctx = crypto_tfm_ctx(tfm);
>>> + u32 *flags = &tfm->crt_flags;
>>> + int ret;
>>> +
>>> + ret = crypto_aes_expand_key(&ctx->key1, in_key, key_len/2);
>>> + if (!ret)
>>> + ret = crypto_aes_expand_key(&ctx->key2, &in_key[key_len/2],
>>> + key_len/2);
>>
>> Use checkpatch.
>>
>
> Um, I did get a bunch of errors and warnings from checkpatch.pl tbh,
> put not in this particular location. Care to elaborate?
>
Well, the checkpatch.pl I had stored to brain had become corrupted and kept
saying that you need spaces around all operators. But apparently spaces are
just required for assignment operators.
>>> +}, {
>>> + .cra_name = "__ctr-aes-aesce",
>>> + .cra_driver_name = "__driver-ctr-aes-aesce",
>>> + .cra_priority = 0,
>>> + .cra_flags = CRYPTO_ALG_TYPE_BLKCIPHER,
>>> + .cra_blocksize = AES_BLOCK_SIZE,
>>
>> CTR mode is stream cipher, cra_blocksize must be set to 1.
>>
>> This should have been picked up by in-kernel run-time tests, check
>> CONFIG_CRYPTO_MANAGER_DISABLE_TESTS (and CONFIG_CRYPTO_TEST/tcrypt
>> module).
>>
>
> Well, run-time implies access to hardware :-) As I indicated in the
> cover letter, these bits are only compile tested.
Ok, I read the cover letter too hastily :)
-Jussi
More information about the linux-arm
mailing list