crypto_cfb_decrypt_segment() incorrectly XOR'ed generated keystream with
IV, rather than with data stream, resulting in incorrect decryption.
Test vectors will be added in the next patch.

Signed-off-by: Dmitry Eremin-Solenikov <dbarysh...@gmail.com>
Cc: sta...@vger.kernel.org
---
 crypto/cfb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crypto/cfb.c b/crypto/cfb.c
index a0d68c09e1b9..fd4e8500e121 100644
--- a/crypto/cfb.c
+++ b/crypto/cfb.c
@@ -144,7 +144,7 @@ static int crypto_cfb_decrypt_segment(struct skcipher_walk 
*walk,
 
        do {
                crypto_cfb_encrypt_one(tfm, iv, dst);
-               crypto_xor(dst, iv, bsize);
+               crypto_xor(dst, src, bsize);
                iv = src;
 
                src += bsize;
-- 
2.19.1

Reply via email to