Skip to content

Commit 3c9bf72

Browse files
ISCAS-Vulabherbertx
authored andcommitted
crypto: aspeed - fix double free caused by devm
The clock obtained via devm_clk_get_enabled() is automatically managed by devres and will be disabled and freed on driver detach. Manually calling clk_disable_unprepare() in error path and remove function causes double free. Remove the manual clock cleanup in both aspeed_acry_probe()'s error path and aspeed_acry_remove(). Fixes: 2f1cf4e ("crypto: aspeed - Add ACRY RSA driver") Signed-off-by: Haotian Zhang <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
1 parent 3ac2939 commit 3c9bf72

File tree

1 file changed

+0
-2
lines changed

1 file changed

+0
-2
lines changed

drivers/crypto/aspeed/aspeed-acry.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -787,7 +787,6 @@ static int aspeed_acry_probe(struct platform_device *pdev)
787787
err_engine_rsa_start:
788788
crypto_engine_exit(acry_dev->crypt_engine_rsa);
789789
clk_exit:
790-
clk_disable_unprepare(acry_dev->clk);
791790

792791
return rc;
793792
}
@@ -799,7 +798,6 @@ static void aspeed_acry_remove(struct platform_device *pdev)
799798
aspeed_acry_unregister(acry_dev);
800799
crypto_engine_exit(acry_dev->crypt_engine_rsa);
801800
tasklet_kill(&acry_dev->done_task);
802-
clk_disable_unprepare(acry_dev->clk);
803801
}
804802

805803
MODULE_DEVICE_TABLE(of, aspeed_acry_of_matches);

0 commit comments

Comments
 (0)