Commit d932505a authored by Hui Tang's avatar Hui Tang Committed by Yipeng Zou
Browse files

sched: Fix memory leak for smart grid

hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I7FBJM


CVE: NA

----------------------------------------

Free ad->domains_orig[] in 'free_affinity_domains',
otherwise the memory will leak.

Fixes: 713cfd26 ("sched: Introduce smart grid scheduling strategy for cfs")
Signed-off-by: default avatarHui Tang <tanghui20@huawei.com>
Reviewed-by: default avatarZhang Qiao <zhangqiao22@huawei.com>
Signed-off-by: default avatarZhang Changzhong <zhangchangzhong@huawei.com>
Signed-off-by: default avatarYipeng Zou <zouyipeng@huawei.com>
parent b46d56b1
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -6112,7 +6112,9 @@ void free_affinity_domains(struct affinity_domain *ad)

	for (i = 0; i < ad->dcount; i++) {
		kfree(ad->domains[i]);
		kfree(ad->domains_orig[i]);
		ad->domains[i] = NULL;
		ad->domains_orig[i] = NULL;
	}
	ad->dcount = 0;
}
@@ -6133,7 +6135,7 @@ static int init_affinity_domains_orig(struct affinity_domain *ad)
err:
	for (j = 0; j < i; j++) {
		kfree(ad->domains_orig[j]);
		ad->domains_orig[i] = NULL;
		ad->domains_orig[j] = NULL;
	}
	return -ENOMEM;
}
@@ -6199,7 +6201,7 @@ int init_auto_affinity(struct task_group *tg)
	struct auto_affinity *auto_affi;
	int ret;

	auto_affi = kmalloc(sizeof(*auto_affi), GFP_KERNEL);
	auto_affi = kzalloc(sizeof(*auto_affi), GFP_KERNEL);
	if (!auto_affi)
		return -ENOMEM;