]> err.no Git - linux-2.6/commitdiff
[PATCH] Fix large core dumps with a 32-bit off_t
authorDaniel Jacobowitz <dan@debian.org>
Thu, 16 Jun 2005 05:26:34 +0000 (22:26 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Thu, 16 Jun 2005 16:02:59 +0000 (09:02 -0700)
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@codesourcery.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/binfmt_elf.c

index c374be51b041a698341ddbda6b9fc5fe1329df46..f8f6b6b76179da87bfca266adadf360b10f2e91a 100644 (file)
@@ -1125,7 +1125,7 @@ static int dump_write(struct file *file, const void *addr, int nr)
        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)