summaryrefslogtreecommitdiff
path: root/fs/binfmt_elf_fdpic.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2020-03-08 09:16:37 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2021-03-08 10:21:11 -0500
commitd0f1088b31db2d03497a74ca67755df5515f8ff4 (patch)
tree8252b8cb97ae2041ea26a72490dd94466a936758 /fs/binfmt_elf_fdpic.c
parenta38fd8748464831584a19438cbb3082b5a2dab15 (diff)
downloadlwn-d0f1088b31db2d03497a74ca67755df5515f8ff4.tar.gz
lwn-d0f1088b31db2d03497a74ca67755df5515f8ff4.zip
coredump: don't bother with do_truncate()
have dump_skip() just remember how much needs to be skipped, leave actual seeks/writing zeroes to the next dump_emit() or the end of coredump output, whichever comes first. And instead of playing with do_truncate() in the end, just write one NUL at the end of the last gap (if any). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/binfmt_elf_fdpic.c')
-rw-r--r--fs/binfmt_elf_fdpic.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c
index 3cfd6cd46f26..2c99b102c860 100644
--- a/fs/binfmt_elf_fdpic.c
+++ b/fs/binfmt_elf_fdpic.c
@@ -1631,8 +1631,7 @@ static int elf_fdpic_core_dump(struct coredump_params *cprm)
goto end_coredump;
}
- if (!dump_skip(cprm, dataoff - cprm->pos))
- goto end_coredump;
+ dump_skip_to(cprm, dataoff);
if (!elf_fdpic_dump_segments(cprm, vma_meta, vma_count))
goto end_coredump;