crypto: skcipher - Add ablkcipher_walk interfaces
authorDavid S. Miller <davem@davemloft.net>
Wed, 19 May 2010 04:13:07 +0000 (14:13 +1000)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 19 May 2010 04:13:07 +0000 (14:13 +1000)
commitbf06099db18a1244957076e51847c644cfe46808
tree80a4e17f939e4dfaf5b2c3b7180c1bd700401831
parenta8f1a05292db8b410be47fa905669672011f0343
crypto: skcipher - Add ablkcipher_walk interfaces

These are akin to the blkcipher_walk helpers.

The main differences in the async variant are:

1) Only physical walking is supported.  We can't hold on to
   kmap mappings across the async operation to support virtual
   ablkcipher_walk operations anyways.

2) Bounce buffers used for async more need to be persistent and
   freed at a later point in time when the async op completes.
   Therefore we maintain a list of writeback buffers and require
   that the ablkcipher_walk user call the 'complete' operation
   so we can copy the bounce buffers out to the real buffers and
   free up the bounce buffer chunks.

These interfaces will be used by the new Niagara2 crypto driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/ablkcipher.c
include/crypto/algapi.h