powerpc/powernv: Add a null pointer check in opal_powercap_init()
authorKunwu Chan <chentao@kylinos.cn>
Sun, 26 Nov 2023 09:57:39 +0000 (17:57 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jan 2024 23:35:13 +0000 (15:35 -0800)
[ Upstream commit e123015c0ba859cf48aa7f89c5016cc6e98e018d ]

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

Fixes: b9ef7b4b867f ("powerpc: Convert to using %pOFn instead of device_node.name")
Signed-off-by: Kunwu Chan <chentao@kylinos.cn>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20231126095739.1501990-1-chentao@kylinos.cn
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/powerpc/platforms/powernv/opal-powercap.c

index 7bfe4cb..ea91726 100644 (file)
@@ -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]);