From patchwork Fri Nov 16 09:27:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: kaslevs@vmware.com X-Patchwork-Id: 998807 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=vmware.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 42xCZX4fYwz9sB5 for ; Fri, 16 Nov 2018 20:28:04 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727523AbeKPTjb (ORCPT ); Fri, 16 Nov 2018 14:39:31 -0500 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) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ukczAeymqSa1aVhmhOfXPtq2gsdqkzqRl4grlLT6frk=; b=oIiH00IQGH71PgptRy7y6PS2nWdPeTONhGYKsftlWDlPAsPtITKZN3tWfNxcDkV0nm cZ7UBeU4gcCMyWV0VUwUHqFxgXXU9P8ya3E+ggxC8KiQwucfs3G2KVfMjjSSPhziKEs1 eBpFL5JOvPfdUtD6ZCjkika818XOVi6IDb1ANEmtAPU+i1sNZLJfLoasdW2vjeedArgS ueESm5Cz4M40mPS0UDbHziE6EWKfPSRyjp2qJzw72SNb6fd+75x7AdgWaeMQDIaxFBsT rPPhKXH+gGLfN4+/SIRwC77LesAKxTFPaJ8b6plJ9hRBI3Ys0BwoRUWYa1NG4q5bd5pO TN9Q== X-Gm-Message-State: AA+aEWYKcDi3Zpxim0lHuvdu82UlJaCNtCQif+HLTuN3u9wUW7tHDxqh lbyubdca3CDiQO1zUCI3zMs5z78= X-Google-Smtp-Source: AFSGD/Xxs+wLlEAY88X5bzQytGkHTQxC7ii8kPNitqRG/9DND80Njcgf8cNv4jYhwQIFS0kmcxskcw== X-Received: by 2002:adf:ea11:: with SMTP id q17mr2310897wrm.328.1542360480893; Fri, 16 Nov 2018 01:28:00 -0800 (PST) Received: from box.eng.vmware.com ([146.247.46.5]) by smtp.gmail.com with ESMTPSA id y19-v6sm14738250wma.7.2018.11.16.01.27.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 16 Nov 2018 01:28:00 -0800 (PST) From: kaslevs@vmware.com To: netdev@vger.kernel.org Cc: davem@davemloft.net 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> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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); }