]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
cpufreq: ppc_cbe: fix possible object reference leak
authorWen Yang <wen.yang99@zte.com.cn>
Mon, 1 Apr 2019 01:37:54 +0000 (09:37 +0800)
committerViresh Kumar <viresh.kumar@linaro.org>
Mon, 8 Apr 2019 10:07:30 +0000 (15:37 +0530)
The call to of_get_cpu_node returns a node pointer with refcount
incremented thus it must be explicitly decremented after the last
usage.

Detected by coccinelle with the following warnings:
./drivers/cpufreq/ppc_cbe_cpufreq.c:89:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 76, but without a corresponding object release within this function.
./drivers/cpufreq/ppc_cbe_cpufreq.c:89:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 76, but without a corresponding object release within this function.

Signed-off-by: Wen Yang <wen.yang99@zte.com.cn>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: linux-pm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
drivers/cpufreq/ppc_cbe_cpufreq.c

index 41a0f0be3f9ff12cb38211b3b0eae5ec56880892..8414c3a4ea08cdef5d58c7e4e522e8bba9a23d70 100644 (file)
@@ -86,6 +86,7 @@ static int cbe_cpufreq_cpu_init(struct cpufreq_policy *policy)
        if (!cbe_get_cpu_pmd_regs(policy->cpu) ||
            !cbe_get_cpu_mic_tm_regs(policy->cpu)) {
                pr_info("invalid CBE regs pointers for cpufreq\n");
+               of_node_put(cpu);
                return -EINVAL;
        }