All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] binfmt_elf: plug a memory leak situation on dump_seek()
@ 2010-02-26  3:54 André Goddard Rosa
  2010-03-02 20:42 ` Andrew Morton
  0 siblings, 1 reply; 4+ messages in thread
From: André Goddard Rosa @ 2010-02-26  3:54 UTC (permalink / raw)
  To: Alexander Viro, Andrew Morton, Roland McGrath, WANG Cong,
	linux-fsdevel, linux-kernel
  Cc: André Goddard Rosa

Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
---
 fs/binfmt_elf.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
index fd5b2ea..13b0845 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -1096,6 +1096,8 @@ static int dump_write(struct file *file, const void *addr, int nr)
 
 static int dump_seek(struct file *file, loff_t off)
 {
+	int ret = 1;
+
 	if (file->f_op->llseek && file->f_op->llseek != no_llseek) {
 		if (file->f_op->llseek(file, off, SEEK_CUR) < 0)
 			return 0;
@@ -1107,13 +1109,15 @@ static int dump_seek(struct file *file, loff_t off)
 			unsigned long n = off;
 			if (n > PAGE_SIZE)
 				n = PAGE_SIZE;
-			if (!dump_write(file, buf, n))
-				return 0;
+			if (!dump_write(file, buf, n)) {
+				ret = 0;
+				break;
+			}
 			off -= n;
 		}
 		free_page((unsigned long)buf);
 	}
-	return 1;
+	return ret;
 }
 
 /*
-- 
1.7.0.94.gf7311


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-03-03  2:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-26  3:54 [PATCH] binfmt_elf: plug a memory leak situation on dump_seek() André Goddard Rosa
2010-03-02 20:42 ` Andrew Morton
2010-03-03  2:02   ` KOSAKI Motohiro
2010-03-03  2:17     ` André Goddard Rosa

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.