[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <tip-9a4f26cc98d81b67ecc23b890c28e2df324e29f3@git.kernel.org>
Date: Mon, 29 Apr 2019 23:01:09 -0700
From: "tip-bot for Tobin C. Harding" <tipbot@...or.com>
To: linux-tip-commits@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, tobin@...nel.org,
gregkh@...uxfoundation.org, tglx@...utronix.de, hpa@...or.com,
peterz@...radead.org, vincent.guittot@...aro.org,
viresh.kumar@...aro.org, mingo@...nel.org,
torvalds@...ux-foundation.org, rafael.j.wysocki@...el.com
Subject: [tip:sched/urgent] sched/cpufreq: Fix kobject memleak
Commit-ID: 9a4f26cc98d81b67ecc23b890c28e2df324e29f3
Gitweb: https://git.kernel.org/tip/9a4f26cc98d81b67ecc23b890c28e2df324e29f3
Author: Tobin C. Harding <tobin@...nel.org>
AuthorDate: Tue, 30 Apr 2019 10:11:44 +1000
Committer: Ingo Molnar <mingo@...nel.org>
CommitDate: Tue, 30 Apr 2019 07:57:23 +0200
sched/cpufreq: Fix kobject memleak
Currently the error return path from kobject_init_and_add() is not
followed by a call to kobject_put() - which means we are leaking
the kobject.
Fix it by adding a call to kobject_put() in the error path of
kobject_init_and_add().
Signed-off-by: Tobin C. Harding <tobin@...nel.org>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Peter Zijlstra <peterz@...radead.org>
Cc: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
Cc: Thomas Gleixner <tglx@...utronix.de>
Cc: Tobin C. Harding <tobin@...nel.org>
Cc: Vincent Guittot <vincent.guittot@...aro.org>
Cc: Viresh Kumar <viresh.kumar@...aro.org>
Link: http://lkml.kernel.org/r/20190430001144.24890-1-tobin@kernel.org
Signed-off-by: Ingo Molnar <mingo@...nel.org>
---
kernel/sched/cpufreq_schedutil.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c
index 5c41ea367422..3638d2377e3c 100644
--- a/kernel/sched/cpufreq_schedutil.c
+++ b/kernel/sched/cpufreq_schedutil.c
@@ -771,6 +771,7 @@ out:
return 0;
fail:
+ kobject_put(&tunables->attr_set.kobj);
policy->governor_data = NULL;
sugov_tunables_free(tunables);
Powered by blists - more mailing lists