OSDN Git Service

crypto: ccree - Remove debugfs when platform_driver_register failed
authorGaosheng Cui <cuigaosheng1@huawei.com>
Tue, 8 Nov 2022 08:29:12 +0000 (16:29 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 18 Nov 2022 08:59:34 +0000 (16:59 +0800)
When platform_driver_register failed, we need to remove debugfs,
which will caused a resource leak, fix it.

Failed logs as follows:
[   32.606488] debugfs: Directory 'ccree' with parent '/' already present!

Fixes: 4c3f97276e15 ("crypto: ccree - introduce CryptoCell driver")
Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/ccree/cc_driver.c

index cadead1..d489c6f 100644 (file)
@@ -651,9 +651,17 @@ static struct platform_driver ccree_driver = {
 
 static int __init ccree_init(void)
 {
+       int rc;
+
        cc_debugfs_global_init();
 
-       return platform_driver_register(&ccree_driver);
+       rc = platform_driver_register(&ccree_driver);
+       if (rc) {
+               cc_debugfs_global_fini();
+               return rc;
+       }
+
+       return 0;
 }
 module_init(ccree_init);