aboutsummaryrefslogtreecommitdiffstats
path: root/fs/pipe.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/pipe.c')
-rw-r--r--fs/pipe.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/pipe.c b/fs/pipe.c
index bb0840e234f3..9405e455f5b1 100644
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -771,8 +771,9 @@ int create_pipe_files(struct file **res, int flags)
771 771
772 res[0] = alloc_file(&path, FMODE_READ, &pipefifo_fops); 772 res[0] = alloc_file(&path, FMODE_READ, &pipefifo_fops);
773 if (IS_ERR(res[0])) { 773 if (IS_ERR(res[0])) {
774 err = PTR_ERR(res[0]); 774 put_pipe_info(inode, inode->i_pipe);
775 goto err_file; 775 fput(f);
776 return PTR_ERR(res[0]);
776 } 777 }
777 778
778 path_get(&path); 779 path_get(&path);
@@ -781,8 +782,6 @@ int create_pipe_files(struct file **res, int flags)
781 res[1] = f; 782 res[1] = f;
782 return 0; 783 return 0;
783 784
784err_file:
785 put_filp(f);
786err_dentry: 785err_dentry:
787 free_pipe_info(inode->i_pipe); 786 free_pipe_info(inode->i_pipe);
788 path_put(&path); 787 path_put(&path);