Bug Fix for 2GB core limit in 2.4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux