Commit 95506588 authored by Slavomir Kaslev's avatar Slavomir Kaslev Committed by David S. Miller

socket: do a generic_file_splice_read when proto_ops has no splice_read

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: default avatarSlavomir Kaslev <kaslevs@vmware.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent df5a8ec6
...@@ -853,7 +853,7 @@ static ssize_t sock_splice_read(struct file *file, loff_t *ppos, ...@@ -853,7 +853,7 @@ static ssize_t sock_splice_read(struct file *file, loff_t *ppos,
struct socket *sock = file->private_data; struct socket *sock = file->private_data;
if (unlikely(!sock->ops->splice_read)) 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); return sock->ops->splice_read(sock, ppos, pipe, len, flags);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment