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

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
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
}