init_completion() is called here to reinitialize a completion object that was already re-initialized in wait_async_op() by reinit_completion() if complete (via tcrypt_complete()) had been called and wait_for_completion() returned, so no need to reinit it here. Fixes: commit 946cc46372dc ("crypto: testmgr - add tests vectors for RSA") Signed-off-by: Nicholas Mc Guire <der.herr@xxxxxxx> --- Found by experimental coccinelle script ./crypto/testmgr.c:2174:1-16: WARNING: possible duplicate init_completion Only based on code review and no testing. In case I am overlooking something and the re-initialization of the completion object is actually needed it should be using reinit_completion() and not init_completion() anyway. But as wait_async_op() will leave with the completion object re-initialized it really should not be needed here (found no path in between that could have called completion()). Patch was only compile tested with: x86_64_defconfig (implies cryptomgr-y) Patch is against linux-4.10-rc6 (localversion-next is next-20170210) crypto/testmgr.c | 1 - 1 file changed, 1 deletion(-) diff --git a/crypto/testmgr.c b/crypto/testmgr.c index 98eb097..15fb453 100644 --- a/crypto/testmgr.c +++ b/crypto/testmgr.c @@ -2171,7 +2171,6 @@ static int test_akcipher_one(struct crypto_akcipher *tfm, sg_init_one(&src, xbuf[0], vecs->c_size); sg_init_one(&dst, outbuf_dec, out_len_max); - init_completion(&result.completion); akcipher_request_set_crypt(req, &src, &dst, vecs->c_size, out_len_max); /* Run RSA decrypt - m = c^d mod n;*/ -- 2.1.4