coredump: only charge written data against RLIMIT_CORE
authorOmar Sandoval <osandov@fb.com>
Wed, 11 May 2016 22:16:37 +0000 (15:16 -0700)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 12 May 2016 20:55:50 +0000 (16:55 -0400)
commit2c4cb04300fa160e9d78335c74184c4e66a56437
treeff36e8066fe5092e23cc2519adfd976eb54bc0b8
parenta00839395103d5e2d132a6c4a9680256580ed3d1
coredump: only charge written data against RLIMIT_CORE

Commit 9b56d54380ad ("dump_skip(): dump_seek() replacement taking
coredump_params") introduced a regression with regard to RLIMIT_CORE.
Previously, when a core dump was sparse, only the data that was actually
written out would count against the limit. Now, the sparse ranges are
also included, which leads to truncated core dumps when the actual disk
usage is still well below the limit. Restore the old behavior by only
counting what gets emitted and ignoring what gets skipped.

Signed-off-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/coredump.c
include/linux/binfmts.h