summaryrefslogtreecommitdiffstats
path: root/kernel/sched.c
diff options
context:
space:
mode:
authorLi Zefan <lizf@cn.fujitsu.com>2008-11-07 14:47:21 +0800
committerIngo Molnar <mingo@elte.hu>2008-11-07 08:29:58 +0100
commitca3273f9646694e0419cfb9d6c12deb1c9aff27c (patch)
tree53e0b28edddd5c29691c9ccc8a7f3c8c11ee9c83 /kernel/sched.c
parentf29c9b1ccb52904ee442a933cf3dee628f9f4e62 (diff)
downloadlinux-stable-ca3273f9646694e0419cfb9d6c12deb1c9aff27c.tar.gz
linux-stable-ca3273f9646694e0419cfb9d6c12deb1c9aff27c.tar.bz2
linux-stable-ca3273f9646694e0419cfb9d6c12deb1c9aff27c.zip
sched: fix memory leak in a failure path
Impact: fix rare memory leak in the sched-domains manual reconfiguration code In the failure path, rd is not attached to a sched domain, so it causes a leak. Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/sched.c')
-rw-r--r--kernel/sched.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index 4c7e2bcdfa89..57c933ffbee1 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -7676,6 +7676,7 @@ static int __build_sched_domains(const cpumask_t *cpu_map,
error:
free_sched_groups(cpu_map, tmpmask);
SCHED_CPUMASK_FREE((void *)allmasks);
+ kfree(rd);
return -ENOMEM;
#endif
}