Messages in this thread Patch in this message |  | | Date | Tue, 06 Jan 2009 17:39:06 +0800 | From | Li Zefan <> | Subject | [PATCH] sched: fix double kfree |
| |
Impact: fix double kfree in failure path
It's not the responsibility of init_rootdomain() to free root_domain allocated by alloc_rootdomain().
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> --- kernel/sched.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/kernel/sched.c b/kernel/sched.c index 545c6fc..2bad712 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -6970,7 +6970,7 @@ static int init_rootdomain(struct root_domain *rd, bool bootmem) } if (!alloc_cpumask_var(&rd->span, GFP_KERNEL)) - goto free_rd; + goto out; if (!alloc_cpumask_var(&rd->online, GFP_KERNEL)) goto free_span; if (!alloc_cpumask_var(&rd->rto_mask, GFP_KERNEL)) @@ -6986,8 +6986,7 @@ free_online: free_cpumask_var(rd->online); free_span: free_cpumask_var(rd->span); -free_rd: - kfree(rd); +out: return -ENOMEM; } -- 1.5.4.rc3
|  |