Commit 9525089d authored by Xie XiuQi's avatar Xie XiuQi Committed by Zheng Zengkai
Browse files

arm64/mpam: fix a missing unlock in error branch



hulk inclusion
category: bugfix
bugzilla: 48265
CVE: NA

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

In error path, we should put the resource and unlock of->kn.

Signed-off-by: default avatarXie XiuQi <xiexiuqi@huawei.com>
Reviewed-by: default avatarHanjun Guo <guohanjun@huawei.com>
Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
Signed-off-by: default avatarWang ShaoBo <bobo.shaobowang@huawei.com>
Reviewed-by: default avatarCheng Jian <cj.chengjian@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parent 8e62aa8b
Loading
Loading
Loading
Loading
+6 −4
Original line number Original line Diff line number Diff line
@@ -354,8 +354,8 @@ int resctrl_group_mondata_show(struct seq_file *m, void *arg)


	rdtgrp = resctrl_group_kn_lock_live(of->kn);
	rdtgrp = resctrl_group_kn_lock_live(of->kn);
	if (!rdtgrp) {
	if (!rdtgrp) {
		resctrl_group_kn_unlock(of->kn);
		ret = -ENOENT;
		return -ENOENT;
		goto out;
	}
	}


	md.priv = of->kn->priv;
	md.priv = of->kn->priv;
@@ -365,14 +365,16 @@ int resctrl_group_mondata_show(struct seq_file *m, void *arg)


	/* show monitor data */
	/* show monitor data */
	d = mpam_find_domain(r, md.u.domid, NULL);
	d = mpam_find_domain(r, md.u.domid, NULL);
	if (IS_ERR(d)) {
	if (IS_ERR_OR_NULL(d)) {
		pr_warn("Could't find domain id %d\n", md.u.domid);
		pr_warn("Could't find domain id %d\n", md.u.domid);
		return -ENOENT;
		ret = -ENOENT;
		goto out;
	}
	}


	usage = rr->mon_read(d, rdtgrp);
	usage = rr->mon_read(d, rdtgrp);
	seq_printf(m, "%llu\n", usage);
	seq_printf(m, "%llu\n", usage);


out:
	put_resource_name(resname);
	put_resource_name(resname);
	resctrl_group_kn_unlock(of->kn);
	resctrl_group_kn_unlock(of->kn);
	return ret;
	return ret;