| From 1dd018e31d0064814a2a80be366cc85ecd55c813 Mon Sep 17 00:00:00 2001 |
| From: Wen Yang <wen.yang99@zte.com.cn> |
| Date: Mon, 1 Apr 2019 09:37:54 +0800 |
| Subject: cpufreq: ppc_cbe: fix possible object reference leak |
| |
| [ Upstream commit 233298032803f2802fe99892d0de4ab653bfece4 ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/cpufreq/ppc_cbe_cpufreq.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| diff --git a/drivers/cpufreq/ppc_cbe_cpufreq.c b/drivers/cpufreq/ppc_cbe_cpufreq.c |
| index 41a0f0be3f9ff..8414c3a4ea08c 100644 |
| --- a/drivers/cpufreq/ppc_cbe_cpufreq.c |
| +++ b/drivers/cpufreq/ppc_cbe_cpufreq.c |
| @@ -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; |
| } |
| |
| -- |
| 2.20.1 |
| |