- Aug 22, 2008
-
-
Herbert Xu authored
Authenc works in two stages for encryption, it first encrypts and then computes an ICV. The context memory of the request is used by both operations. The problem is that when an asynchronous encryption completes, we will compute the ICV and then reread the context memory of the encryption to get the original request. It just happens that we have a buffer of 16 bytes in front of the request pointer, so ICVs of 16 bytes (such as SHA1) do not trigger the bug. However, any attempt to uses a larger ICV instantly kills the machine when the first asynchronous encryption is completed. This patch fixes this by saving the request pointer before we start the ICV computation. Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
- Aug 13, 2008
-
-
Herbert Xu authored
The changeset ca786dc7 crypto: hash - Fixed digest size check missed one spot for the digest type. This patch corrects that error. Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Herbert Xu authored
My changeset 4b22f0dd crypto: tcrpyt - Remove unnecessary kmap/kunmap calls introduced a typo that broke AEAD chunk testing. In particular, axbuf should really be xbuf. There is also an issue with testing the last segment when encrypting. The additional part produced by AEAD wasn't tested. Similarly, on decryption the additional part of the AEAD input is mistaken for corruption. Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
- Aug 05, 2008
-
-
Dan Williams authored
Found-by:
Yuri Tikhonov <yur@emcraft.com> Signed-off-by:
Dan Williams <dan.j.williams@intel.com>
-
- Jul 18, 2008
-
-
Dan Williams authored
All callers of async_tx_sync_epilog have called async_tx_quiesce on the depend_tx, so async_tx_sync_epilog need only call the callback to complete the operation. Signed-off-by:
Dan Williams <dan.j.williams@intel.com>
-
Dan Williams authored
Replace open coded "wait and acknowledge" instances with async_tx_quiesce. Signed-off-by:
Dan Williams <dan.j.williams@intel.com>
-
Dan Williams authored
Ensure forward progress is made when a dmaengine driver is unable to allocate an xor descriptor by breaking the dependency chain with async_tx_quisce() and issue any pending descriptors. Tested with iop-adma by setting device->max_xor = 2 to force multiple calls to device_prep_dma_xor for each call to async_xor and limiting the descriptor slot pool to 5. Discovered that the minimum descriptor pool size for iop-adma is 2 * iop_chan_xor_slot_cnt(device->max_xor) + 1. Signed-off-by:
Dan Williams <dan.j.williams@intel.com>
-
Dan Williams authored
When the number of source buffers for an xor operation exceeds the hardware channel maximum async_xor creates a chain of dependent operations. The result of one operation is reused as an input to the next to continue the xor calculation. The destination buffer should remain mapped for the duration of the entire chain. To provide this guarantee the code must no longer be allowed to fallback to the synchronous path as this will preclude the buffer from being unmapped, i.e. the dma-driver will potentially miss the descriptor with !DMA_COMPL_SKIP_DEST_UNMAP. Cc: Neil Brown <neilb@suse.de> Signed-off-by:
Dan Williams <dan.j.williams@intel.com>
-
Li Zefan authored
In the rcu update side, don't use list_for_each_entry_rcu(). Signed-off-by:
Li Zefan <lizf@cn.fujitsu.com> Signed-off-by:
Dan Williams <dan.j.williams@intel.com>
-
- Jul 15, 2008
-
-
Herbert Xu authored
This patch is clearly not ready yet for prime time. Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
- Jul 10, 2008
-
-
Herbert Xu authored
All new crypto interfaces should go into individual files as much as possible in order to ensure that crypto.h does not collapse under its own weight. This patch moves the ahash code into crypto/hash.h and crypto/internal/hash.h respectively. Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Herbert Xu authored
This patch reimplements crc32c using the ahash interface. This allows one tfm to be used by an unlimited number of users provided that they all use the same key (which all current crc32c users do). Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Herbert Xu authored
This patch adds the walking helpers for hash algorithms akin to those of block ciphers. This is a necessary step before we can reimplement existing hash algorithms using the new ahash interface. Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Neil Horman authored
This patch adds a cryptographic pseudo-random number generator based on CTR(AES-128). It is meant to be used in cases where a deterministic CPRNG is required. One of the first applications will be as an input in the IPsec IV generation process. Signed-off-by:
Neil Horman <nhorman@tuxdriver.com> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Herbert Xu authored
The base field in ahash_tfm appears to have been cut-n-pasted from ablkcipher. It isn't needed here at all. Similarly, the info field in ahash_request also appears to have originated from its cipher counter-part and is vestigial. Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Herbert Xu authored
The digest size check on hash algorithms is incorrect. It's perfectly valid for hash algorithms to have a digest length longer than their block size. For example crc32c has a block size of 1 and a digest size of 4. Rather than having it lie about its block size, this patch fixes the checks to do what they really should which is to bound the digest size so that code placing the digest on the stack continue to work. HMAC however still needs to check this as it's only defined for such algorithms. Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Harvey Harrison authored
Similar to the rmd128.c annotations, significantly cuts down on the noise. Signed-off-by:
Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Harvey Harrison authored
Signed-off-by:
Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Harvey Harrison authored
Remove the private implementation of 32-bit rotation and unaligned access with byteswapping. As a bonus, fixes sparse warnings: crypto/camellia.c:602:2: warning: cast to restricted __be32 crypto/camellia.c:603:2: warning: cast to restricted __be32 crypto/camellia.c:604:2: warning: cast to restricted __be32 crypto/camellia.c:605:2: warning: cast to restricted __be32 crypto/camellia.c:710:2: warning: cast to restricted __be32 crypto/camellia.c:711:2: warning: cast to restricted __be32 crypto/camellia.c:712:2: warning: cast to restricted __be32 crypto/camellia.c:713:2: warning: cast to restricted __be32 crypto/camellia.c:714:2: warning: cast to restricted __be32 crypto/camellia.c:715:2: warning: cast to restricted __be32 crypto/camellia.c:716:2: warning: cast to restricted __be32 crypto/camellia.c:717:2: warning: cast to restricted __be32 Signed-off-by:
Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Herbert Xu authored
Noticed by Neil Horman: we are doing unnecessary kmap/kunmap calls on kmalloced memory. This patch removes them. For the purposes of testing SG construction, the underlying crypto code already does plenty of kmap/kunmap calls anyway. Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Neil Horman authored
Patch to add checking of DES3 test vectors using CBC mode. FIPS-140-2 compliance mandates that any supported mode of operation must include a self test. This satisfies that requirement for cbc(des3_ede). The included test vector was generated by me using openssl. Key/IV was generated with the following command: openssl enc -des_ede_cbc -P input and output values were generated by repeating the string "Too many secrets" a few times over, truncating it to 128 bytes, and encrypting it with openssl using the aformentioned key. Tested successfully by myself Signed-off-by:
Neil Horman <nhorman@tuxdriver.com> Acked-by:
Adrian-Ken Rueegsegger <rueegsegger@swiss-it.ch> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Herbert Xu authored
This patch converts the relevant code in the rmd implementations to use the pointer form of the endian swapping operations. This allows certain architectures to generate more optimised code. For example, on sparc64 this more than halves the CPU cycles on a typical hashing operation. Based on a patch by David Miller. Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Adrian-Ken Rueegsegger authored
This patch fixes endian issues making rmd320 work properly on big-endian machines. Signed-off-by:
Adrian-Ken Rueegsegger <rueegsegger@swiss-it.ch> Acked-by:
Sebastian Siewior <sebastian@breakpoint.cc> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Adrian-Ken Rueegsegger authored
This patch fixes endian issues making rmd256 work properly on big-endian machines. Signed-off-by:
Adrian-Ken Rueegsegger <rueegsegger@swiss-it.ch> Acked-by:
Sebastian Siewior <sebastian@breakpoint.cc> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Adrian-Ken Rueegsegger authored
This patch fixes endian issues making rmd160 work properly on big-endian machines. Signed-off-by:
Adrian-Ken Rueegsegger <rueegsegger@swiss-it.ch> Acked-by:
Sebastian Siewior <sebastian@breakpoint.cc> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Adrian-Ken Rueegsegger authored
This patch is based on Sebastian Siewior's patch and fixes endian issues making rmd128 work properly on big-endian machines. Signed-off-by:
Adrian-Ken Rueegsegger <rueegsegger@swiss-it.ch> Acked-by:
Sebastian Siewior <sebastian@breakpoint.cc> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Loc Ho authored
This patch changes tcrypt to use the new asynchronous hash interface for testing hash algorithm correctness. The speed tests will continue to use the existing interface for now. Signed-off-by:
Loc Ho <lho@amcc.com> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Loc Ho authored
This patch adds asynchronous hash support to crypto daemon. Signed-off-by:
Loc Ho <lho@amcc.com> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Loc Ho authored
This patch adds asynchronous hash and digest support. Signed-off-by:
Loc Ho <lho@amcc.com> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Adrian-Ken Rueegsegger authored
This patch adds Kconfig entries for RIPEMD-256 and RIPEMD-320. Signed-off-by:
Adrian-Ken Rueegsegger <rueegsegger@swiss-it.ch> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Adrian-Ken Rueegsegger authored
This patch adds test vectors for RIPEMD-256 and RIPEMD-320 hash algorithms. The test vectors are taken from <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html > Signed-off-by:
Adrian-Ken Rueegsegger <rueegsegger@swiss-it.ch> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Adrian-Ken Rueegsegger authored
This patch adds support for the extended RIPEMD hash algorithms RIPEMD-256 and RIPEMD-320. Signed-off-by:
Adrian-Ken Rueegsegger <rueegsegger@swiss-it.ch> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Adrian-Ken Rueegsegger authored
This patch puts all common RIPEMD values in the appropriate header file. Initial values and constants are the same for all variants of RIPEMD. Signed-off-by:
Adrian-Ken Rueegsegger <rueegsegger@swiss-it.ch> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Patrick McHardy authored
Check whether the destination buffer is written to beyond the last byte contained in the scatterlist. Also change IDX1 of the cross-page access offsets to a multiple of 4. This triggers a corruption in the HIFN driver and doesn't seem to negatively impact other testcases. Signed-off-by:
Patrick McHardy <kaber@trash.net> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Herbert Xu authored
Change logs should be kept in source control systems, not the source. This patch removes the change log from tcrpyt to stop people from extending it any more. Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Adrian-Ken Rueegsegger authored
This patch adds Kconfig entries for RIPEMD-128 and RIPEMD-160. Signed-off-by:
Adrian-Ken Rueegsegger <rueegsegger@swiss-it.ch> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Adrian-Ken Rueegsegger authored
This patch adds test vectors for RIPEMD-128 and RIPEMD-160 hash algorithms and digests (HMAC). The test vectors are taken from ISO:IEC 10118-3 (2004) and RFC2286. Signed-off-by:
Adrian-Ken Rueegsegger <rueegsegger@swiss-it.ch> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Adrian-Ken Rueegsegger authored
This patch adds support for RIPEMD-128 and RIPEMD-160 hash algorithms. Signed-off-by:
Adrian-Ken Rueegsegger <rueegsegger@swiss-it.ch> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Herbert Xu authored
The EINPROGRESS notifications should be done just like the final call-backs, i.e., with BH off. This patch fixes the call in cryptd since previously it was called with BH on. Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-
Herbert Xu authored
When chainiv postpones requests it never calls their completion functions. This causes symptoms such as memory leaks when IPsec is in use. Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
-