From: Daniel Jacobowitz <dan@debian.org>
Date: Thu, 16 Jun 2005 05:26:34 +0000 (-0700)
Subject: [PATCH] Fix large core dumps with a 32-bit off_t
X-Git-Tag: v2.6.12~9
X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=5db92850d3ab72b830a0fe6e30eaec8462801408;p=linux-2.6-omap-h63xx.git

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

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>
---

diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
index c374be51b04..f8f6b6b7617 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -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)