diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2020-03-08 14:16:37 +0100 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2021-03-08 16:21:11 +0100 |
commit | d0f1088b31db2d03497a74ca67755df5515f8ff4 (patch) | |
tree | 8252b8cb97ae2041ea26a72490dd94466a936758 /fs/binfmt_elf_fdpic.c | |
parent | Linux 5.12-rc2 (diff) | |
download | linux-d0f1088b31db2d03497a74ca67755df5515f8ff4.tar.xz linux-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.c | 3 |
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; |