Message ID | 1554082674-2049-6-git-send-email-wen.yang99@zte.com.cn (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | viresh kumar |
Headers | show |
Series | [1/7] cpufreq: ap806: fix possible object reference leak | expand |
> @@ -146,6 +146,7 @@ static int pas_cpufreq_cpu_init(struct cpufreq_policy *policy) > > cpu = of_get_cpu_node(policy->cpu, NULL); > > + of_node_put(cpu); > if (!cpu) > goto out; Can the statement “return -ENODEV” be nicer as exception handling in the if branch of this source code place? https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/cpufreq/pasemi-cpufreq.c?id=bf97b82f37c6d90e16de001d0659644c57fa490d#n137 Regards, Markus
On Wed, Apr 03, 2019 at 04:23:54PM +0200, Markus Elfring wrote: > > @@ -146,6 +146,7 @@ static int pas_cpufreq_cpu_init(struct cpufreq_policy *policy) > > > > cpu = of_get_cpu_node(policy->cpu, NULL); > > > > + of_node_put(cpu); > > if (!cpu) > > goto out; > > Can the statement “return -ENODEV” be nicer as exception handling > in the if branch of this source code place? > https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/cpufreq/pasemi-cpufreq.c?id=bf97b82f37c6d90e16de001d0659644c57fa490d#n137 > Why am I only receiving only one side of this conversation? I don't know why you're responding to... It's not required to fix/change unrelated style choices. If people want, they can just focus on their own thing. regards, dan carpenter
diff --git a/drivers/cpufreq/pasemi-cpufreq.c b/drivers/cpufreq/pasemi-cpufreq.c index 75dfbd2..c7710c1 100644 --- a/drivers/cpufreq/pasemi-cpufreq.c +++ b/drivers/cpufreq/pasemi-cpufreq.c @@ -146,6 +146,7 @@ static int pas_cpufreq_cpu_init(struct cpufreq_policy *policy) cpu = of_get_cpu_node(policy->cpu, NULL); + of_node_put(cpu); if (!cpu) goto out;
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/pasemi-cpufreq.c:212:1-7: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 147, but without a corresponding object release within this function. ./drivers/cpufreq/pasemi-cpufreq.c:220:1-7: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 147, 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: linuxppc-dev@lists.ozlabs.org Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/cpufreq/pasemi-cpufreq.c | 1 + 1 file changed, 1 insertion(+)