]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
powerpc/pseries: fix memory leak on krealloc failure in papr_init
authorThorsten Blum <thorsten.blum@linux.dev>
Sun, 14 Jun 2026 14:23:56 +0000 (16:23 +0200)
committerMadhavan Srinivasan <maddy@linux.ibm.com>
Wed, 15 Jul 2026 02:34:13 +0000 (08:04 +0530)
When krealloc() fails, free the original esi_buf before returning to
avoid a memory leak.

Fixes: 3c14b73454cf ("powerpc/pseries: Interface to represent PAPR firmware attributes")
Cc: stable@vger.kernel.org
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/20260614142356.658212-2-thorsten.blum@linux.dev
arch/powerpc/platforms/pseries/papr_platform_attributes.c

index c6159870de0e11bf18919e52d2b5c94ea2a7a08f..9c3758aa54c6e4401b4d2e3d427c8d8edc8eac4d 100644 (file)
@@ -271,11 +271,9 @@ retry:
                esi_buf_size = ESI_HDR_SIZE + (CURR_MAX_ESI_ATTRS * max_esi_attrs);
 
                temp_esi_buf = krealloc(esi_buf, esi_buf_size, GFP_KERNEL);
-               if (temp_esi_buf)
-                       esi_buf = temp_esi_buf;
-               else
-                       return -ENOMEM;
-
+               if (!temp_esi_buf)
+                       goto out_free_esi_buf;
+               esi_buf = temp_esi_buf;
                goto retry;
        }