From mboxrd@z Thu Jan 1 00:00:00 1970 From: kaslevs@vmware.com Subject: [PATCH] socket: do a generic_file_splice_read when proto_ops has no splice_read Date: Fri, 16 Nov 2018 11:27:53 +0200 Message-ID: <20181116092753.18763-1-kaslevs@vmware.com> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Cc: davem@davemloft.net To: netdev@vger.kernel.org Return-path: Received: from mail-wr1-f66.google.com ([209.85.221.66]:44800 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727398AbeKPTjb (ORCPT ); Fri, 16 Nov 2018 14:39:31 -0500 Received: by mail-wr1-f66.google.com with SMTP id j17-v6so24096573wrq.11 for ; Fri, 16 Nov 2018 01:28:01 -0800 (PST) Sender: netdev-owner@vger.kernel.org List-ID: From: Slavomir Kaslev 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 --- 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