lkml.org 
[lkml]   [2006]   [May]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectBug Fix for 2GB core limit in 2.4
We were having problems when running programs that used over 2GB of ram 
not being able to generate core files over 2GB, these are some very
simple changes that fixed the problem.

linux-2.4.31/fs/binfmt_elf.c
1024c1024
< static int dump_seek(struct file *file, off_t off)
---
> static int dump_seek(struct file *file, loff_t off)

Changed the function parameter "off" from type "off_t" to "loff_t". The
parameter was truncating the incoming long long type to a long, causing
the seek to fail and kill the dump when off grew above 2GB.

/kernels/2.4.31/linux-2.4.31/fs/exec.c
1151c1151
< file = filp_open(corename, O_CREAT | 2 | O_NOFOLLOW, 0600);
---
> file = filp_open(corename, O_CREAT | 2 | O_NOFOLLOW |
O_LARGEFILE, 0600);

Included the O_LARGEFILE flag in order to create files over 2GB.

The changes have been running on many Debian systems for a couple of
months. Valid core files just over 3GB have been created without any
problem. I have never submitted anything like this before so please
excuse any lack of proper protocol.
Thank you.

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

\
 
 \ /
  Last update: 2006-05-30 19:06    [W:0.328 / U:0.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site