Thread (18 messages) 18 messages, 3 authors, 2016-06-06

Re: [RFC v2 2/3] crypto: Introduce CRYPTO_ALG_BULK flag

From: Baolin Wang <hidden>
Date: 2016-06-03 08:15:35
Also in: dm-devel, linux-crypto, linux-raid, lkml

On 3 June 2016 at 15:54, Herbert Xu [off-list ref] wrote:
On Fri, Jun 03, 2016 at 03:10:31PM +0800, Baolin Wang wrote:
quoted
On 3 June 2016 at 14:51, Herbert Xu [off-list ref] wrote:
quoted
On Fri, Jun 03, 2016 at 02:48:34PM +0800, Baolin Wang wrote:
quoted
If we move the IV generation into the crypto API, we also can not
handle every algorithm with the bulk interface. Cause we also need to
use different methods to map one whole bio or map one sector according
to the algorithm whether can support bulk mode or not. Please correct
me if I misunderstand your points. Thanks.
Which ones can't be handled this way?
What I mean is bulk mode and sector mode's difference is not only the
IV handling method, but also the method to map the data with
scatterlists.
Then we have two processes in dm-crypt ( crypt_convert_block() and
crypt_convert_bulk_block() ) to handle the data, so we can not handle
every algorithm with the bulk interface.
As I asked, which algorithm can't you handle through the bulk
interface, assuming it did all the requisite magic to generate
the correct IV?
Suppose the cbc(aes) algorithm, which can not be handled through bulk
interface, it need to map the data sector by sector.
If we also handle the cbc(aes) algorithm with bulk interface, we need
to divide the sg table into sectors and need to allocate request
memory for each divided sectors (As Mike pointed out  this is in the
IO mapping
path and we try to avoid memory allocations at all costs -- due to the
risk of deadlock when issuing IO to stacked block devices (dm-crypt
could be part of a much more elaborate IO stack). ), that will
introduce more messy things I think.
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


-- 
Baolin.wang
Best Regards
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help