Commit 7c3e190d authored by Kunwu Chan's avatar Kunwu Chan Committed by Zhang Zekun
Browse files

powerpc/powernv: Add a null pointer check in opal_powercap_init()

stable inclusion
from stable-v5.10.209
commit a67a04ad05acb56640798625e73fa54d6d41cce1
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9Q9HG
CVE: CVE-2023-52696

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a67a04ad05acb56640798625e73fa54d6d41cce1



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

[ Upstream commit e123015c0ba859cf48aa7f89c5016cc6e98e018d ]

kasprintf() returns a pointer to dynamically allocated memory
which can be NULL upon failure.

Fixes: b9ef7b4b ("powerpc: Convert to using %pOFn instead of device_node.name")
Signed-off-by: default avatarKunwu Chan <chentao@kylinos.cn>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20231126095739.1501990-1-chentao@kylinos.cn


Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarsanglipeng1 <sanglipeng1@jd.com>
Signed-off-by: default avatarZhang Zekun <zhangzekun11@huawei.com>
parent a451086d
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -196,6 +196,12 @@ void __init opal_powercap_init(void)

		j = 0;
		pcaps[i].pg.name = kasprintf(GFP_KERNEL, "%pOFn", node);
		if (!pcaps[i].pg.name) {
			kfree(pcaps[i].pattrs);
			kfree(pcaps[i].pg.attrs);
			goto out_pcaps_pattrs;
		}

		if (has_min) {
			powercap_add_attr(min, "powercap-min",
					  &pcaps[i].pattrs[j]);