crypto: octeontx2 - remove CONFIG_DM_CRYPT check
authorShijith Thotton <sthotton@marvell.com>
Fri, 28 Jan 2022 13:57:42 +0000 (19:27 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:23:05 +0000 (14:23 +0200)
[ Upstream commit 2d841af23ae8f398c85dd1ff2dc24b5ec8ba4569 ]

No issues were found while using the driver with dm-crypt enabled. So
CONFIG_DM_CRYPT check in the driver can be removed.

This also fixes the NULL pointer dereference in driver release if
CONFIG_DM_CRYPT is enabled.

...
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008
...
Call trace:
 crypto_unregister_alg+0x68/0xfc
 crypto_unregister_skciphers+0x44/0x60
 otx2_cpt_crypto_exit+0x100/0x1a0
 otx2_cptvf_remove+0xf8/0x200
 pci_device_remove+0x3c/0xd4
 __device_release_driver+0x188/0x234
 device_release_driver+0x2c/0x4c
...

Fixes: 6f03f0e8b6c8 ("crypto: octeontx2 - register with linux crypto framework")
Signed-off-by: Shijith Thotton <sthotton@marvell.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/crypto/marvell/octeontx2/otx2_cptvf_algs.c

index 877a948..570074e 100644 (file)
@@ -1634,16 +1634,13 @@ static inline int cpt_register_algs(void)
 {
        int i, err = 0;
 
-       if (!IS_ENABLED(CONFIG_DM_CRYPT)) {
-               for (i = 0; i < ARRAY_SIZE(otx2_cpt_skciphers); i++)
-                       otx2_cpt_skciphers[i].base.cra_flags &=
-                                                       ~CRYPTO_ALG_DEAD;
-
-               err = crypto_register_skciphers(otx2_cpt_skciphers,
-                                               ARRAY_SIZE(otx2_cpt_skciphers));
-               if (err)
-                       return err;
-       }
+       for (i = 0; i < ARRAY_SIZE(otx2_cpt_skciphers); i++)
+               otx2_cpt_skciphers[i].base.cra_flags &= ~CRYPTO_ALG_DEAD;
+
+       err = crypto_register_skciphers(otx2_cpt_skciphers,
+                                       ARRAY_SIZE(otx2_cpt_skciphers));
+       if (err)
+               return err;
 
        for (i = 0; i < ARRAY_SIZE(otx2_cpt_aeads); i++)
                otx2_cpt_aeads[i].base.cra_flags &= ~CRYPTO_ALG_DEAD;