crypto: ccree - use devm_k[mz]alloc() for cipher data
authorGeert Uytterhoeven <geert+renesas@glider.be>
Tue, 11 Feb 2020 18:19:27 +0000 (19:19 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 22 Feb 2020 01:25:46 +0000 (09:25 +0800)
As the lifetime of the cipher data matches the lifetime of the driver,
cipher data can be allocated using the managed allocators.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/ccree/cc_cipher.c

index fc6df71..d8e6a10 100644 (file)
@@ -1626,7 +1626,7 @@ static struct cc_crypto_alg *cc_create_alg(const struct cc_alg_template *tmpl,
        struct cc_crypto_alg *t_alg;
        struct skcipher_alg *alg;
 
-       t_alg = kzalloc(sizeof(*t_alg), GFP_KERNEL);
+       t_alg = devm_kzalloc(dev, sizeof(*t_alg), GFP_KERNEL);
        if (!t_alg)
                return ERR_PTR(-ENOMEM);
 
@@ -1662,7 +1662,6 @@ int cc_cipher_free(struct cc_drvdata *drvdata)
        list_for_each_entry_safe(t_alg, n, &drvdata->alg_list, entry) {
                crypto_unregister_skcipher(&t_alg->skcipher_alg);
                list_del(&t_alg->entry);
-               kfree(t_alg);
        }
        return 0;
 }
@@ -1703,7 +1702,6 @@ int cc_cipher_alloc(struct cc_drvdata *drvdata)
                if (rc) {
                        dev_err(dev, "%s alg registration failed\n",
                                t_alg->skcipher_alg.base.cra_driver_name);
-                       kfree(t_alg);
                        goto fail0;
                }