[PATCH 2.6.12-rc6-git6] Fix large core dumps with a 32-bit off_t

From: Daniel Jacobowitz
Date: Mon Jun 13 2005 - 15:25:57 EST


The ELF core dump code has one use of off_t when writing out segments. Some
of the segments may be passed the 2GB limit of an off_t, even on a 32-bit
system, so it's important to use loff_t instead. This fixes a corrupted
core dump in the bigcore test in GDB's testsuite.

Signed-off-by: Daniel Jacobowitz <dan@xxxxxxxxxxxxxxxx>

Index: linux-2.6.11/fs/binfmt_elf.c
===================================================================
--- linux-2.6.11.orig/fs/binfmt_elf.c 2005-06-09 16:38:17.000000000 -0400
+++ linux-2.6.11/fs/binfmt_elf.c 2005-06-10 00:10:52.000000000 -0400
@@ -1125,7 +1125,7 @@ static int dump_write(struct file *file,
return file->f_op->write(file, addr, nr, &file->f_pos) == nr;
}

-static int dump_seek(struct file *file, off_t off)
+static int dump_seek(struct file *file, loff_t off)
{
if (file->f_op->llseek) {
if (file->f_op->llseek(file, off, 0) != off)

--
Daniel Jacobowitz
CodeSourcery, LLC
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/