[PATCH 1/2] powerpc/nvram: Add missing kfree in error path

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE3953d

4 messages, 2 authors, 2015-10-12 · open the first message on its own page

[PATCH 1/2] powerpc/nvram: Add missing kfree in error path

From: Christophe JAILLET <hidden>
Date: 2015-07-17 07:20:11

If 'nvram_write_header' fails, then 'new_part' should be freed, otherwise,
there is a memory leak.

Signed-off-by: Christophe JAILLET <redacted>
---
This patch is *untested* because I have no way to trigger the error.
---
 arch/powerpc/kernel/nvram_64.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/arch/powerpc/kernel/nvram_64.c b/arch/powerpc/kernel/nvram_64.c
index 1e703f8..574ff59 100644
--- a/arch/powerpc/kernel/nvram_64.c
+++ b/arch/powerpc/kernel/nvram_64.c
@@ -1079,6 +1079,7 @@ loff_t __init nvram_create_partition(const char *name, int sig,
 	if (rc <= 0) {
 		pr_err("nvram_create_os_partition: nvram_write_header "
 		       "failed (%d)\n", rc);
+		kfree(new_part);
 		return rc;
 	}
 	list_add_tail(&new_part->partition, &free_part->partition);
-- 
2.1.4

[PATCH 2/2] powerpc/nvram: Fix function name in some errors messages.

From: Christophe JAILLET <hidden>
Date: 2015-07-17 07:20:16

'nvram_create_os_partition' should be 'nvram_create_partition'.
Use __func__ to have it right, as done elsewhere in this file.

Signed-off-by: Christophe JAILLET <redacted>
---
 arch/powerpc/kernel/nvram_64.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/arch/powerpc/kernel/nvram_64.c b/arch/powerpc/kernel/nvram_64.c
index 574ff59..4dab163 100644
--- a/arch/powerpc/kernel/nvram_64.c
+++ b/arch/powerpc/kernel/nvram_64.c
@@ -1065,7 +1065,7 @@ loff_t __init nvram_create_partition(const char *name, int sig,
 	/* Create our OS partition */
 	new_part = kmalloc(sizeof(*new_part), GFP_KERNEL);
 	if (!new_part) {
-		pr_err("nvram_create_os_partition: kmalloc failed\n");
+		pr_err("%s: kmalloc failed\n", __func__);
 		return -ENOMEM;
 	}
 
@@ -1077,8 +1077,7 @@ loff_t __init nvram_create_partition(const char *name, int sig,
 
 	rc = nvram_write_header(new_part);
 	if (rc <= 0) {
-		pr_err("nvram_create_os_partition: nvram_write_header "
-		       "failed (%d)\n", rc);
+		pr_err("%s: nvram_write_header failed (%d)\n", __func__, rc);
 		kfree(new_part);
 		return rc;
 	}
@@ -1091,8 +1090,8 @@ loff_t __init nvram_create_partition(const char *name, int sig,
 		free_part->header.checksum = nvram_checksum(&free_part->header);
 		rc = nvram_write_header(free_part);
 		if (rc <= 0) {
-			pr_err("nvram_create_os_partition: nvram_write_header "
-			       "failed (%d)\n", rc);
+			pr_err("%s: nvram_write_header failed (%d)\n",
+			       __func__, rc);
 			return rc;
 		}
 	} else {
@@ -1106,11 +1105,12 @@ loff_t __init nvram_create_partition(const char *name, int sig,
 	     tmp_index += NVRAM_BLOCK_LEN) {
 		rc = ppc_md.nvram_write(nv_init_vals, NVRAM_BLOCK_LEN, &tmp_index);
 		if (rc <= 0) {
-			pr_err("nvram_create_partition: nvram_write failed (%d)\n", rc);
+			pr_err("%s: nvram_write failed (%d)\n",
+			       __func__, rc);
 			return rc;
 		}
 	}
-	
+
 	return new_part->index + NVRAM_HEADER_LEN;
 }
 
-- 
2.1.4

Re: [1/2] powerpc/nvram: Add missing kfree in error path

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2015-10-12 11:17:21

On Fri, 2015-17-07 at 07:19:59 UTC, Christophe Jaillet wrote:
If 'nvram_write_header' fails, then 'new_part' should be freed, otherwise,
there is a memory leak.

Signed-off-by: Christophe JAILLET <redacted>
Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/7d523187173294f6ae3b86a4

cheers

Re: [2/2] powerpc/nvram: Fix function name in some errors messages.

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2015-10-12 11:17:23

On Fri, 2015-17-07 at 07:20:00 UTC, Christophe Jaillet wrote:
'nvram_create_os_partition' should be 'nvram_create_partition'.
Use __func__ to have it right, as done elsewhere in this file.

Signed-off-by: Christophe JAILLET <redacted>
Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/b6080db4f4e8bf28717b8329

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help