[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20181116092753.18763-1-kaslevs@vmware.com>
Date: Fri, 16 Nov 2018 11:27:53 +0200
From: kaslevs@...are.com
To: netdev@...r.kernel.org
Cc: davem@...emloft.net
Subject: [PATCH] socket: do a generic_file_splice_read when proto_ops has no splice_read
From: Slavomir Kaslev <kaslevs@...are.com>
splice(2) fails with -EINVAL when called reading on a socket with no splice_read
set in its proto_ops (such as vsock sockets). Switch this to fallbacks to a
generic_file_splice_read instead.
Signed-off-by: Slavomir Kaslev <kaslevs@...are.com>
---
net/socket.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/socket.c b/net/socket.c
index 593826e11a53..334fcc617ef2 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -853,7 +853,7 @@ static ssize_t sock_splice_read(struct file *file, loff_t *ppos,
struct socket *sock = file->private_data;
if (unlikely(!sock->ops->splice_read))
- return -EINVAL;
+ return generic_file_splice_read(file, ppos, pipe, len, flags);
return sock->ops->splice_read(sock, ppos, pipe, len, flags);
}
--
2.19.1
Powered by blists - more mailing lists