Currently error return from kobject_init_and_add() is not followed by a
call to kobject_put(). This means there is a memory leak.
Add call to kobject_put() in error path of kobject_init_and_add().
Signed-off-by: Tobin C. Harding <[email protected]>
---
Resend with SOB tag.
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 @@ static int sugov_init(struct cpufreq_policy *policy)
return 0;
fail:
+ kobject_put(&tunables->attr_set.kobj);
policy->governor_data = NULL;
sugov_tunables_free(tunables);
--
2.21.0
* Tobin C. Harding <[email protected]> wrote:
> Currently error return from kobject_init_and_add() is not followed by a
> call to kobject_put(). This means there is a memory leak.
>
> Add call to kobject_put() in error path of kobject_init_and_add().
>
> Signed-off-by: Tobin C. Harding <[email protected]>
> ---
>
> Resend with SOB tag.
Please ignore my previous mail :-)
Thanks,
Ingo
On Tue, Apr 30, 2019 at 06:24:43AM +0200, Ingo Molnar wrote:
>
> * Tobin C. Harding <[email protected]> wrote:
>
> > Currently error return from kobject_init_and_add() is not followed by a
> > call to kobject_put(). This means there is a memory leak.
> >
> > Add call to kobject_put() in error path of kobject_init_and_add().
> >
> > Signed-off-by: Tobin C. Harding <[email protected]>
> > ---
> >
> > Resend with SOB tag.
>
> Please ignore my previous mail :-)
Cheers Ingo, caught myself not checkpatching :(
thanks,
Tobin.