Message ID | 1485292295-21298-2-git-send-email-mathieu.poirier@linaro.org |
---|---|
State | New |
Headers | show |
Series | [1/2] sched/core: Fix &rd->rto_mask memory leak | expand |
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 5c01ac0f915a..f06ce70757a7 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -5884,9 +5884,11 @@ static int init_rootdomain(struct root_domain *rd) goto free_rto_mask; if (cpupri_init(&rd->cpupri) != 0) - goto free_rto_mask; + goto free_cpudl; return 0; +free_cpudl: + cpudl_cleanup(&rd->cpudl); free_rto_mask: free_cpumask_var(rd->rto_mask); free_dlo_mask:
While in the process of initialising a root domain, if function cpupri_init() fails the memory allocated in cpudl_init() is not reclaimed. Adding a new goto target to cleanup the previous initialistion of the root_domain's dl_bw structure reclaims said memory. Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org> --- kernel/sched/core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- 2.7.4