From: tip-bot for Viresh Kumar <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, hpa@zytor.com, mingo@kernel.org,
peterz@infradead.org, viresh.kumar@linaro.org,
tglx@linutronix.de
Subject: [tip:sched/core] sched: Fix memory leakage in build_sched_groups( )
Date: Wed, 19 Jun 2013 11:41:03 -0700 [thread overview]
Message-ID: <tip-cd08e9234c987766ad077bba80eb5a07d0855525@git.kernel.org> (raw)
In-Reply-To: <7a61e955abdcbb1dfa9fe493f11a5ec53a11ddd3.1370948150.git.viresh.kumar@linaro.org>
Commit-ID: cd08e9234c987766ad077bba80eb5a07d0855525
Gitweb: http://git.kernel.org/tip/cd08e9234c987766ad077bba80eb5a07d0855525
Author: Viresh Kumar <viresh.kumar@linaro.org>
AuthorDate: Tue, 11 Jun 2013 16:32:44 +0530
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 19 Jun 2013 12:58:46 +0200
sched: Fix memory leakage in build_sched_groups()
In build_sched_groups() we don't need to call get_group() for cpus
which are already covered in previous iterations. Calling get_group()
would mark the group used and eventually leak it since we wouldn't
connect it and not find it again to free it.
This will happen only in cases where sg->cpumask contained more than
one cpu (For any topology level). This patch would free sg's memory
for all cpus leaving the group leader as the group isn't marked used
now.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/7a61e955abdcbb1dfa9fe493f11a5ec53a11ddd3.1370948150.git.viresh.kumar@linaro.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
kernel/sched/core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 3388387..014c97f 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -5357,12 +5357,12 @@ build_sched_groups(struct sched_domain *sd, int cpu)
for_each_cpu(i, span) {
struct sched_group *sg;
- int group = get_group(i, sdd, &sg);
- int j;
+ int group, j;
if (cpumask_test_cpu(i, covered))
continue;
+ group = get_group(i, sdd, &sg);
cpumask_clear(sched_group_cpus(sg));
sg->sgp->power = 0;
cpumask_setall(sched_group_mask(sg));
next prev parent reply other threads:[~2013-06-19 18:41 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-11 11:02 [PATCH 0/3] sched: Sched Domains: Fixups - Part 3 Viresh Kumar
2013-06-11 11:02 ` [PATCH 1/3] sched: Use cached value of span instead of calling sched_domain_span() Viresh Kumar
2013-06-19 18:40 ` [tip:sched/core] " tip-bot for Viresh Kumar
2013-06-11 11:02 ` [PATCH 2/3] sched: don't call get_group() for covered cpus Viresh Kumar
2013-06-18 10:03 ` Peter Zijlstra
2013-06-18 10:15 ` Viresh Kumar
2013-06-18 15:19 ` Peter Zijlstra
2013-06-18 15:29 ` Viresh Kumar
2013-06-18 17:30 ` Peter Zijlstra
2013-06-19 18:41 ` tip-bot for Viresh Kumar [this message]
2013-06-11 11:02 ` [PATCH 3/3] sched: remove WARN_ON(!sd) from init_sched_groups_power() Viresh Kumar
2013-06-18 10:03 ` Peter Zijlstra
2013-06-19 18:41 ` [tip:sched/core] sched: Remove " tip-bot for Viresh Kumar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tip-cd08e9234c987766ad077bba80eb5a07d0855525@git.kernel.org \
--to=tipbot@zytor.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=viresh.kumar@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome