Re: [RFC] crypto: Remove mcryptd
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2018-08-08 09:56:31
Also in:
lkml
On Thu, Jul 26, 2018 at 05:25:07PM -0700, Megha Dey wrote:
1. On the existing algorithms covered in aesni_intel-glue.c (eg:
__cbc-aes-aesni), 3 algorithms are registered in /proc/crypto:
__cbc(aes)
cryptd(__cbc-aes-aesni)--> registered via cryptd_create_skcipher
cbc(aes)
cbc-aes-aesni --> registered via simd_skcipher_create_compat
__cbc(aes)
__cbc-aes-aesni --> registered as the internal algorithm
I would want to know why do we need the cryptd(__cbc-aes-aesni)
algorithm at all. I do not see any of the associated setkey, encrypt or
decrypt functions getting called during the selftest or while running
tcrypt. I just see the simd_(setkey, encrypt, decrypt) functions
directly called the inner algorithms. However, if I remove the cryptd
algorithm, none of the algorithms are registered.The simd functions are the fast path where you are running in a context where SIMD can be used directly. cryptd is the slow path where we defer the work to a work queue.
quoted
What you need to do is create an actual simd wrapper with cryptdThis simd wrapper is already present for skcipher right(in simd.c)? Assuming we only have ciphers and no hash algorithms, are any changes required in these wrappers?
For skcipher yes they already exist. But this thread was about hashes. Cheers, -- Email: Herbert Xu [off-list ref] Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt