summaryrefslogtreecommitdiff
path: root/fs/coredump.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/coredump.c')
-rw-r--r--fs/coredump.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/coredump.c b/fs/coredump.c
index ec306cc9a28a..a9abe313e8d5 100644
--- a/fs/coredump.c
+++ b/fs/coredump.c
@@ -432,9 +432,7 @@ static bool dump_interrupted(void)
static void wait_for_dump_helpers(struct file *file)
{
- struct pipe_inode_info *pipe;
-
- pipe = file_inode(file)->i_pipe;
+ struct pipe_inode_info *pipe = file->private_data;
pipe_lock(pipe);
pipe->readers++;
@@ -656,7 +654,9 @@ 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 (ispipe && core_pipe_limit)
wait_for_dump_helpers(cprm.file);