Revert "fs: check FMODE_LSEEK to control internal pipe splicing"

This reverts commit ab37175dd3593b9098f2242e370a7b1af4c35368 which is
commit 97ef77c52b789ec1411d360ed99dca1efe4b2c81 upstream.

It causes VTS failures for some reason and needs to be reverted for now
until the root cause is tracked down.

Bug: 247779313
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I19341cd7c5cf90780804e77dbbf2e32ecc2644fc
This commit is contained in:
Greg Kroah-Hartman 2022-09-09 09:05:13 +02:00
parent 15a2cff2b5
commit 64522c903c

View File

@ -895,15 +895,17 @@ ssize_t splice_direct_to_actor(struct file *in, struct splice_desc *sd,
{
struct pipe_inode_info *pipe;
long ret, bytes;
umode_t i_mode;
size_t len;
int i, flags, more;
/*
* We require the input to be seekable, as we don't want to randomly
* drop data for eg socket -> socket splicing. Use the piped splicing
* for that!
* We require the input being a regular file, as we don't want to
* randomly drop data for eg socket -> socket splicing. Use the
* piped splicing for that!
*/
if (unlikely(!(in->f_mode & FMODE_LSEEK)))
i_mode = file_inode(in)->i_mode;
if (unlikely(!S_ISREG(i_mode) && !S_ISBLK(i_mode)))
return -EINVAL;
/*