linux/drivers/crypto/caam
Steve Cornelius 9b93bf71e1 crypto: caam - fix RNG buffer cache alignment
commit 412c98c1be upstream.

The hwrng output buffers (2) are cast inside of a a struct (caam_rng_ctx)
allocated in one DMA-tagged region. While the kernel's heap allocator
should place the overall struct on a cacheline aligned boundary, the 2
buffers contained within may not necessarily align. Consenquently, the ends
of unaligned buffers may not fully flush, and if so, stale data will be left
behind, resulting in small repeating patterns.

This fix aligns the buffers inside the struct.

Note that not all of the data inside caam_rng_ctx necessarily needs to be
DMA-tagged, only the buffers themselves require this. However, a fix would
incur the expense of error-handling bloat in the case of allocation failure.

Signed-off-by: Steve Cornelius <steve.cornelius@freescale.com>
Signed-off-by: Victoria Milhoan <vicki.milhoan@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
History 2015-06-30 17:15:29 +01:00
..
caamalg.c crypto: caam - reinitialize keys_fit_inline for decrypt and givencrypt 2014-05-13 19:43:46 +08:00
caamhash.c crypto: caam - improve initalization for context state saves 2015-06-30 17:15:28 +01:00
caamrng.c crypto: caam - fix RNG buffer cache alignment 2015-06-30 17:15:29 +01:00
compat.h crypto: caam - add support for aead null encryption 2014-03-21 21:54:27 +08:00
ctrl.c crypto: caam - fix ERA retrieval function 2014-02-09 09:59:27 +08:00
ctrl.h crypto: caam - fix ERA retrieval function 2014-02-09 09:59:27 +08:00
desc.h crypto: caam - fix RNG4 AAI defines 2013-09-13 21:43:55 +10:00
desc_constr.h crypto: caam - add support for aead null encryption 2014-03-21 21:54:27 +08:00
error.c crypto: caam - Fix the 'quoted string split across lines' 2014-05-08 21:58:11 +08:00
error.h crypto: caam - Contain caam_jr_strstatus() ugliness 2014-05-08 21:58:06 +08:00
intern.h crypto: caam - Modify the interface layers to use JR API's 2013-10-30 12:02:58 +08:00
jr.c crypto: caam - fix memleak in caam_jr module 2014-07-10 16:59:13 +08:00
jr.h crypto: caam - Add API's to allocate/free Job Rings 2013-10-30 12:02:57 +08:00
Kconfig crypto: caam - Add Platform driver for Job Ring 2013-10-30 12:02:57 +08:00
key_gen.c crypto: caam - fix missing dma unmap on error path 2014-11-27 11:21:35 +00:00
key_gen.h crypto: caam - change key gen functions to return signed int 2013-04-25 21:01:43 +08:00
Makefile crypto: caam - Add Platform driver for Job Ring 2013-10-30 12:02:57 +08:00
pdb.h crypto: caam - Add define for Adjust Output Frame Length in PDB 2013-05-28 15:37:08 +08:00
regs.h crypto: caam - writel() arguments are swapped 2014-02-27 05:56:59 +08:00
sg_sw_sec4.h crypto: caam - remove duplicated sg copy functions 2014-11-27 11:22:03 +00:00