crypto: sun8i-ss - Fix a test in sun8i_ss_setup_ivs()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Mon, 17 Apr 2023 20:25:09 +0000 (22:25 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 28 Apr 2023 09:50:43 +0000 (17:50 +0800)
SS_ENCRYPTION is (0 << 7 = 0), so the test can never be true.
Use a direct comparison to SS_ENCRYPTION instead.

The same king of test is already done the same way in sun8i_ss_run_task().

Fixes: 359e893e8af4 ("crypto: sun8i-ss - rework handling of IV")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/allwinner/sun8i-ss/sun8i-ss-cipher.c

index 83c6dfa..16966cc 100644 (file)
@@ -151,7 +151,7 @@ static int sun8i_ss_setup_ivs(struct skcipher_request *areq)
                }
                rctx->p_iv[i] = a;
                /* we need to setup all others IVs only in the decrypt way */
-               if (rctx->op_dir & SS_ENCRYPTION)
+               if (rctx->op_dir == SS_ENCRYPTION)
                        return 0;
                todo = min(len, sg_dma_len(sg));
                len -= todo;