Revert "fs: check FMODE_LSEEK to control internal pipe splicing"
This reverts commit ab37175dd3 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:
10
fs/splice.c
10
fs/splice.c
@@ -899,15 +899,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;
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user