Re: [RFC PATCH v4] IV Generation algorithms for dm-crypt
From: Gilad Ben-Yossef <gilad@benyossef.com>
Date: 2017-02-08 07:32:45
Also in:
dm-devel, linux-crypto, lkml
On Tue, Feb 7, 2017 at 12:35 PM, Binoy Jayan [off-list ref] wrote:
=============================================================================== dm-crypt optimization for larger block sizes =============================================================================== Currently, the iv generation algorithms are implemented in dm-crypt.c. The goal is to move these algorithms from the dm layer to the kernel crypto layer by implementing them as template ciphers so they can be used in relation with algorithms like aes, and with multiple modes like cbc, ecb etc. As part of this patchset, the iv-generation code is moved from the dm layer to the crypto layer and adapt the dm-layer to send a whole 'bio' (as defined in the block layer) at a time. Each bio contains the in memory representation of physically contiguous disk blocks. Since the bio itself may not be contiguous in main memory, the dm layer sets up a chained scatterlist of these blocks split into physically contiguous segments in memory so that DMA can be performed.
...
Binoy Jayan (1): crypto: Add IV generation algorithms drivers/md/dm-crypt.c | 1894 ++++++++++++++++++++++++++++++++++-------------- include/crypto/geniv.h | 47 ++ 2 files changed, 1402 insertions(+), 539 deletions(-) create mode 100644 include/crypto/geniv.h
Ran Bonnie++ on it last night (Luks mode, plain64, Qemu Virt platform Arm64) and it works just fine. Tested-by: Gilad Ben-Yossef <gilad@benyossef.com> Gilad -- Gilad Ben-Yossef Chief Coffee Drinker "If you take a class in large-scale robotics, can you end up in a situation where the homework eats your dog?" -- Jean-Baptiste Queru