cpufreq: s3c2416: double free on driver init error path
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 7 Feb 2017 13:19:06 +0000 (16:19 +0300)
committerWilly Tarreau <w@1wt.eu>
Thu, 2 Nov 2017 06:16:29 +0000 (07:16 +0100)
commit a69261e4470d680185a15f748d9cdafb37c57a33 upstream.

The "goto err_armclk;" error path already does a clk_put(s3c_freq->hclk);
so this is a double free.

Fixes: 34ee55075265 ([CPUFREQ] Add S3C2416/S3C2450 cpufreq driver)
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Willy Tarreau <w@1wt.eu>
drivers/cpufreq/s3c2416-cpufreq.c

index 4f1881eee3f12a803a58ae373f044551f87d4edb..6da4fbd4eef481314fad4895c99201e3c758db93 100644 (file)
@@ -434,7 +434,6 @@ static int __init s3c2416_cpufreq_driver_init(struct cpufreq_policy *policy)
        rate = clk_get_rate(s3c_freq->hclk);
        if (rate < 133 * 1000 * 1000) {
                pr_err("cpufreq: HCLK not at 133MHz\n");
-               clk_put(s3c_freq->hclk);
                ret = -EINVAL;
                goto err_armclk;
        }