X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=fs%2Fsplice.c;h=d7c8a7c4db07fff8cfc54a83adefba53207691a0;hb=9afe5658a6fa89f59f01d2857d78203cc8665f1c;hp=6b3c9a018a8e3e49d86e5a44c400ea80ffeb3856;hpb=a2b447066cacb6db82a1f69b46d9f894f695badf;p=linux-2.6-microblaze.git diff --git a/fs/splice.c b/fs/splice.c index 6b3c9a018a8e..d7c8a7c4db07 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -1101,8 +1101,8 @@ long do_splice(struct file *in, loff_t __user *off_in, !(out->f_mode & FMODE_WRITE))) return -EBADF; - ipipe = get_pipe_info(in); - opipe = get_pipe_info(out); + ipipe = get_pipe_info(in, true); + opipe = get_pipe_info(out, true); if (ipipe && opipe) { if (off_in || off_out) @@ -1252,7 +1252,7 @@ static int pipe_to_user(struct pipe_inode_info *pipe, struct pipe_buffer *buf, static long vmsplice_to_user(struct file *file, struct iov_iter *iter, unsigned int flags) { - struct pipe_inode_info *pipe = get_pipe_info(file); + struct pipe_inode_info *pipe = get_pipe_info(file, true); struct splice_desc sd = { .total_len = iov_iter_count(iter), .flags = flags, @@ -1287,7 +1287,7 @@ static long vmsplice_to_pipe(struct file *file, struct iov_iter *iter, if (flags & SPLICE_F_GIFT) buf_flag = PIPE_BUF_FLAG_GIFT; - pipe = get_pipe_info(file); + pipe = get_pipe_info(file, true); if (!pipe) return -EBADF; @@ -1733,8 +1733,8 @@ static int link_pipe(struct pipe_inode_info *ipipe, */ long do_tee(struct file *in, struct file *out, size_t len, unsigned int flags) { - struct pipe_inode_info *ipipe = get_pipe_info(in); - struct pipe_inode_info *opipe = get_pipe_info(out); + struct pipe_inode_info *ipipe = get_pipe_info(in, true); + struct pipe_inode_info *opipe = get_pipe_info(out, true); int ret = -EINVAL; if (unlikely(!(in->f_mode & FMODE_READ) ||