On Thu, Oct 12, 2023 at 07:45:07PM -0600, Jens Axboe wrote: > On 10/12/23 7:34 AM, Sascha Hauer wrote: > > In case you don't have encryption hardware you can create an > > asynchronous encryption module using cryptd. Compile a kernel with > > CONFIG_CRYPTO_USER_API_AEAD and CONFIG_CRYPTO_CRYPTD and start the > > webserver with the '-c' option. /proc/crypto should then contain an > > entry with: > > > > name : gcm(aes) > > driver : cryptd(gcm_base(ctr(aes-generic),ghash-generic)) > > module : kernel > > priority : 150 > > I did a bit of prep work to ensure I had everything working for when > there's time to dive into it, but starting it with -c doesn't register > this entry. Turns out the bind() in there returns -1/ENOENT. Yes, that happens here as well, that's why I don't check for the error in the bind call. Nevertheless it has the desired effect that the new algorithm is registered and used from there on. BTW you only need to start the webserver once with -c. If you start it repeatedly with -c a new gcm(aes) instance is registered each time. I think what I am doing here is not the intended use case of cryptd and only works by accident. Sascha -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |