Export 'get_pipe_info()' to other users
[firefly-linux-kernel-4.4.55.git] / fs / pipe.c
index 279eef96c51cdf28a81d4f0c3d0d702a71dc5a1c..2665dba3fc22fd84bf3b69ad9b36e0766ce7d003 100644 (file)
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -382,7 +382,7 @@ pipe_read(struct kiocb *iocb, const struct iovec *_iov,
                        error = ops->confirm(pipe, buf);
                        if (error) {
                                if (!ret)
-                                       error = ret;
+                                       ret = error;
                                break;
                        }
 
@@ -1202,7 +1202,7 @@ long pipe_fcntl(struct file *file, unsigned int cmd, unsigned long arg)
        struct pipe_inode_info *pipe;
        long ret;
 
-       pipe = file->f_path.dentry->d_inode->i_pipe;
+       pipe = get_pipe_info(file);
        if (!pipe)
                return -EBADF;