Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
                goto close_fail;
        if (displaced)
                put_files_struct(displaced);
-       file_start_write(cprm.file);
-       core_dumped = !dump_interrupted() && binfmt->core_dump(&cprm);
-       file_end_write(cprm.file);
-
+       if (!dump_interrupted()) {
+               file_start_write(cprm.file);
+               core_dumped = binfmt->core_dump(&cprm);
+               file_end_write(cprm.file);
+       }
        if (ispipe && core_pipe_limit)
                wait_for_dump_helpers(cprm.file);
 close_fail: