mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] crypto: testmgr: don't allocate IV on stack
@ 2017-10-31  7:56 Gilad Ben-Yossef
  2017-10-31  7:59 ` Herbert Xu
  0 siblings, 1 reply; 5+ messages in thread
From: Gilad Ben-Yossef @ 2017-10-31  7:56 UTC (permalink / raw)
  To: Herbert Xu, David S. Miller; +Cc: Ofir Drang, linux-crypto, linux-kernel

The IV was allocated on the stack in testmgr skcipher tests.
Since HW based tfm providers need to DMA the IV to the HW,
this leads to problems and is detected by the DMA-API debug
code.

Fix it by allocating the IV using kmalloc instead.

Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com>
---
 crypto/testmgr.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index 7125ba3..88d0c57 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -1085,12 +1085,16 @@ static int __test_skcipher(struct crypto_skcipher *tfm, int enc,
 	const char *e, *d;
 	struct tcrypt_result result;
 	void *data;
-	char iv[MAX_IVLEN];
+	char *iv;
 	char *xbuf[XBUFSIZE];
 	char *xoutbuf[XBUFSIZE];
 	int ret = -ENOMEM;
 	unsigned int ivsize = crypto_skcipher_ivsize(tfm);
 
+	iv = kmalloc(MAX_IVLEN, GFP_KERNEL);
+	if (!iv)
+		goto out_nobuf;
+
 	if (testmgr_alloc_buf(xbuf))
 		goto out_nobuf;
 
@@ -1331,6 +1335,7 @@ static int __test_skcipher(struct crypto_skcipher *tfm, int enc,
 		testmgr_free_buf(xoutbuf);
 out_nooutbuf:
 	testmgr_free_buf(xbuf);
+	kfree(iv);
 out_nobuf:
 	return ret;
 }
-- 
2.7.4

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-10-31 10:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-31  7:56 [PATCH] crypto: testmgr: don't allocate IV on stack Gilad Ben-Yossef
2017-10-31  7:59 ` Herbert Xu
2017-10-31  8:05   ` Gilad Ben-Yossef
2017-10-31  9:05   ` Horia Geantă
2017-10-31 10:19     ` Herbert Xu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®