do_coredump(): don't wait for thaw if coredump has already been interrupted
authorAl Viro <viro@zeniv.linux.org.uk>
Sat, 4 May 2013 18:45:54 +0000 (14:45 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 4 May 2013 18:45:54 +0000 (14:45 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/coredump.c

index a9abe313e8d5a48622bd3328787db8c099bee942..dafafbafa7313e2e7ef46d05619482b2edf5645d 100644 (file)
@@ -654,10 +654,11 @@ void do_coredump(siginfo_t *siginfo)
                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: