Commit 95b387a4 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] Enable coredumps > 2GB

From: Andi Kleen <ak@muc.de>

Some x86-64 users were complaining that coredumps >2GB don't work.

This will enable large coredump for everybody.  Apparently the 32bit
gdb/binutils cannot handle them, but I hear the binutils people are working
on fixing that.  I doubt it will harm people - unreadable coredumps are not
worse than no coredump and it won't make any difference in space usage if
you get a 1.99GB or a 2.5GB coredump.  So just enable it unconditionally.
If it should be really a problem for 32bit the rlimit defaults in
resource.h could be changed.

For file systems that don't support O_LARGEFILE you should just get an
truncated coredumps for big address spaces.
parent bf98c406
...@@ -1386,7 +1386,7 @@ int do_coredump(long signr, int exit_code, struct pt_regs * regs) ...@@ -1386,7 +1386,7 @@ int do_coredump(long signr, int exit_code, struct pt_regs * regs)
goto fail_unlock; goto fail_unlock;
format_corename(corename, core_pattern, signr); format_corename(corename, core_pattern, signr);
file = filp_open(corename, O_CREAT | 2 | O_NOFOLLOW, 0600); file = filp_open(corename, O_CREAT | 2 | O_NOFOLLOW | O_LARGEFILE, 0600);
if (IS_ERR(file)) if (IS_ERR(file))
goto fail_unlock; goto fail_unlock;
inode = file->f_dentry->d_inode; inode = file->f_dentry->d_inode;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment