diff options
-rw-r--r-- | fs/coredump.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/fs/coredump.c b/fs/coredump.c index a9abe313e8d5..dafafbafa731 100644 --- a/fs/coredump.c +++ b/fs/coredump.c | |||
@@ -654,10 +654,11 @@ void do_coredump(siginfo_t *siginfo) | |||
654 | goto close_fail; | 654 | goto close_fail; |
655 | if (displaced) | 655 | if (displaced) |
656 | put_files_struct(displaced); | 656 | put_files_struct(displaced); |
657 | file_start_write(cprm.file); | 657 | if (!dump_interrupted()) { |
658 | core_dumped = !dump_interrupted() && binfmt->core_dump(&cprm); | 658 | file_start_write(cprm.file); |
659 | file_end_write(cprm.file); | 659 | core_dumped = binfmt->core_dump(&cprm); |
660 | 660 | file_end_write(cprm.file); | |
661 | } | ||
661 | if (ispipe && core_pipe_limit) | 662 | if (ispipe && core_pipe_limit) |
662 | wait_for_dump_helpers(cprm.file); | 663 | wait_for_dump_helpers(cprm.file); |
663 | close_fail: | 664 | close_fail: |