diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-06-18 02:49:26 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-06-18 02:49:26 -0400 |
commit | 49fe9bcc507fc82fac17c5c1a2ff7f83e5a19c67 (patch) | |
tree | a7faa6a252bf283a09f5a4a784b16442d0df48e0 | |
parent | 66fc13039422ba7df2d01a8ee0873e4ef965b50b (diff) | |
parent | 412c98c1bef65fe7589f1300e93735d96130307c (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto fixes from Herbert Xu:
"This fixes the following issues:
- Crash in caam hash due to uninitialised buffer lengths.
- Alignment issue in caam RNG that may lead to non-random output"
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
crypto: caam - fix RNG buffer cache alignment
crypto: caam - improve initalization for context state saves
-rw-r--r-- | drivers/crypto/caam/caamhash.c | 2 | ||||
-rw-r--r-- | drivers/crypto/caam/caamrng.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/crypto/caam/caamhash.c b/drivers/crypto/caam/caamhash.c index ba0532efd3ae..332c8ef8dae2 100644 --- a/drivers/crypto/caam/caamhash.c +++ b/drivers/crypto/caam/caamhash.c | |||
@@ -1544,6 +1544,8 @@ static int ahash_init(struct ahash_request *req) | |||
1544 | 1544 | ||
1545 | state->current_buf = 0; | 1545 | state->current_buf = 0; |
1546 | state->buf_dma = 0; | 1546 | state->buf_dma = 0; |
1547 | state->buflen_0 = 0; | ||
1548 | state->buflen_1 = 0; | ||
1547 | 1549 | ||
1548 | return 0; | 1550 | return 0; |
1549 | } | 1551 | } |
diff --git a/drivers/crypto/caam/caamrng.c b/drivers/crypto/caam/caamrng.c index 26a544b505f1..5095337205b8 100644 --- a/drivers/crypto/caam/caamrng.c +++ b/drivers/crypto/caam/caamrng.c | |||
@@ -56,7 +56,7 @@ | |||
56 | 56 | ||
57 | /* Buffer, its dma address and lock */ | 57 | /* Buffer, its dma address and lock */ |
58 | struct buf_data { | 58 | struct buf_data { |
59 | u8 buf[RN_BUF_SIZE]; | 59 | u8 buf[RN_BUF_SIZE] ____cacheline_aligned; |
60 | dma_addr_t addr; | 60 | dma_addr_t addr; |
61 | struct completion filled; | 61 | struct completion filled; |
62 | u32 hw_desc[DESC_JOB_O_LEN]; | 62 | u32 hw_desc[DESC_JOB_O_LEN]; |