login
Header Space

 
 

Re: [Patch] fs/binfmt_elf.c: fix a wrong free

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Pekka J Enberg <penberg@...>
Cc: WANG Cong <xiyou.wangcong@...>, LKML <linux-kernel@...>, Eric Youngdale <ericy@...>, <viro@...>, <linux-fsdevel@...>, Andrew Morton <akpm@...>
Date: Saturday, May 3, 2008 - 10:39 am

On Sat, May 03, 2008 at 04:26:11PM +0300, Pekka J Enberg wrote:

Hi, Pekka!

Thanks for your comments. Yes, it seems that fill_note_info() is ugly.
:-) How about the below one?

Signed-off-by: WANG Cong <wangcong@zeuux.org>

---
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
index f6d5a9d..357b503 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -1900,7 +1900,7 @@ static int elf_core_dump(long signr, struct pt_regs *regs, struct file *file, un
 	/* alloc memory for large data structures: too large to be on stack */
 	elf = kmalloc(sizeof(*elf), GFP_KERNEL);
 	if (!elf)
-		goto cleanup;
+		goto ret;
 	
 	segs = current->mm->map_count;
 #ifdef ELF_CORE_EXTRA_PHDRS
@@ -2034,8 +2034,9 @@ end_coredump:
 	set_fs(fs);
 
 cleanup:
-	kfree(elf);
 	free_note_info(&info);
+	kfree(elf);
+ret:
 	return has_dumped;
 }
 

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[Patch] fs/binfmt_elf.c: fix a wrong free, WANG Cong, (Sat May 3, 8:46 am)
Re: [Patch] fs/binfmt_elf.c: fix a wrong free, Pekka J Enberg, (Sat May 3, 9:26 am)
Re: [Patch] fs/binfmt_elf.c: fix a wrong free, WANG Cong, (Sat May 3, 10:39 am)
Re: [Patch] fs/binfmt_elf.c: fix a wrong free, Pekka Enberg, (Sun May 4, 6:39 am)
Re: [Patch] fs/binfmt_elf.c: fix a wrong free, WANG Cong, (Sun May 4, 10:30 am)
speck-geostationary