Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp450755ybk; Sat, 9 May 2020 07:45:17 -0700 (PDT) X-Google-Smtp-Source: APiQypJOm1cGRPQbx451MJXKeU7YRiaXEzK1CgCTfXm1A7fqQOpPOw9NCxsr5NGUafLo/U3tLKAC X-Received: by 2002:a05:6402:311c:: with SMTP id dc28mr6183851edb.323.1589035516772; Sat, 09 May 2020 07:45:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589035516; cv=none; d=google.com; s=arc-20160816; b=DV3wNOMongFL1t+gyXdpMwQb2FaC8a6yFcexY7xPLz7caWBJF/OU21yDCsloOCJ9+P ZkZydE6PJuWotFPth3/Dsfw7Hs0N7R+Uc3oUQipH2ebtuVUwxsxMDUO18MsAC2Z9rwVX gU8jZkAWvMjQs4ipPOSmBDpFE91sOfRXwoVNzBxDh7c7RP9qnwseTJ48jxKQCMQG43ul nhGODjDySI9y7AkgB1vMcyWq1tRVTHfUhhuxqROEVUqkqNMsc2BL99vt4bsUO4B1beQl luZ47MxxXyvjasJRsqUhUcq6jhvf/Q+IekQKU5YvYSXcVxqtU3EClCbDFdz+Xh2tMQbX 8sMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:to:subject:dkim-signature; bh=8qtmaJLYw4IC+4FDva3MHRax/v6YPJc7TOvGR5mHtPY=; b=W94UZZ3JntWt3DjxPCFuD/g+hw4zrjMFV3HrydD/EWFibzX8n3Oy9QJUNHQemkmOZm VEwB5V2vlKbZjUVwqhzC+ucIUIqKeBoZ1/gua0go7UFLP8iinC36oFRBWwVVikYEchvz wgAsR1SVHo0+zoa/KN/FP0WHrUNa8/QA9WXqEnOdjheasazydbHEoLurVKIApiJwbBS4 ln4sqC/hHJJQ/clAXVB+vIhxn9RQSu9InBUVBapNQc2o6yR/PRziCK4JpevQTZuRikdc 64GxvL8VD+wn4KslLypMugY+BmQmpfaLDkFsvYguKZewlY501pnUikLTuhpnvqrQomxC N7PQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b="X9FK/JC5"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b13si1105599ejg.10.2020.05.09.07.44.50; Sat, 09 May 2020 07:45:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b="X9FK/JC5"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728053AbgEIOnC (ORCPT + 99 others); Sat, 9 May 2020 10:43:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48000 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1727840AbgEIOnB (ORCPT ); Sat, 9 May 2020 10:43:01 -0400 Received: from mail-pf1-x435.google.com (mail-pf1-x435.google.com [IPv6:2607:f8b0:4864:20::435]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 34A6EC05BD0A for ; Sat, 9 May 2020 07:43:00 -0700 (PDT) Received: by mail-pf1-x435.google.com with SMTP id 18so2493527pfv.8 for ; Sat, 09 May 2020 07:43:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20150623.gappssmtp.com; s=20150623; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=8qtmaJLYw4IC+4FDva3MHRax/v6YPJc7TOvGR5mHtPY=; b=X9FK/JC5//r6bN8vdxWdP6Knl5vDy4zg+XMFdHWIkRlywRYquT31GmeuUUp+0estnx PvZkQoE119/yNyqOE5+6bpy3vJL3qLTdRiBm4JqVkxA2x7S67+ye74gufcsMBjMNsjxM CFqx5sx7TR+RtPusFB+CZ2q+RfRdRGsK+c3U5YqsCazDh1zMos2M3/kOD1dVPhc/zq9B MG5bUUeoN7mXP1r+eqsZr2kFdFXcVAGIFDyT4WA8LPrbHclWxyx9P+P0A7IxoBxRWBIf 5siU0VxFuiJ3QvZGEysjwmKkxTdNcn85P+LLdwxuiNu4JcabL03NynLeiQrHdz4hXh0A hYGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=8qtmaJLYw4IC+4FDva3MHRax/v6YPJc7TOvGR5mHtPY=; b=G2bBnhWXvLqexuWV6GhwwSN70HoqxoQb0wnhms5KCkg2FZ3aCA4h3cm5PEdOBm2gCk ThpwBbV7NyFVtvYFf2lhGEiLfL9TUinvNNCKAvNv1Xqvb6HnzMv22OIBnCdm5MOxlpLD C51CX3jVWt6AAauGv/AfNYn5Vzbjy3ISnIkTtmcSD1vYbSXmc4vSeSl72BMyyx3ibsns cbK1qZLkWhxbpZtz4dVfmKHz/YcqtzuZM+BBV+vcEm/VwExstUGRa0YxoDMpRUdC14Gh LVIx6I32UeEt8e2NU/Gkp8WLskKikwyPdD8zQeyeMh+mjIX0nm7qhmEeK5iEeGhCxz1/ 62/A== X-Gm-Message-State: AGi0PubGHETJ1km8RcBp7igE6Bk2MXSPA2Je9lAKgXvXIWnnf14YmdxK VVqM2lyZupQd3qUW0lGgGMJqpV8yBac= X-Received: by 2002:a63:68c3:: with SMTP id d186mr6829910pgc.269.1589035379319; Sat, 09 May 2020 07:42:59 -0700 (PDT) Received: from [192.168.1.188] ([66.219.217.173]) by smtp.gmail.com with ESMTPSA id w125sm3796396pgw.22.2020.05.09.07.42.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 09 May 2020 07:42:58 -0700 (PDT) Subject: Re: [RFC] splice/tee: len=0 fast path after validity check To: Pavel Begunkov , Alexander Viro , io-uring@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org References: <14d4955e8c232ea7d2cbb2c2409be789499e0452.1589013737.git.asml.silence@gmail.com> From: Jens Axboe Message-ID: <29de6592-8d62-5b5d-9859-d7adcc58759b@kernel.dk> Date: Sat, 9 May 2020 08:42:56 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <14d4955e8c232ea7d2cbb2c2409be789499e0452.1589013737.git.asml.silence@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 5/9/20 2:46 AM, Pavel Begunkov wrote: > When len=0, splice() and tee() return 0 even if specified fds are > invalid, hiding errors from users. Move len=0 optimisation later after > basic validity checks. > > before: > splice(len=0, fd_in=-1, ...) == 0; > > after: > splice(len=0, fd_in=-1, ...) == -EBADF; I'm not sure what the purpose of this would be. It probably should have been done that way from the beginning, but it wasn't. While there's very little risk of breaking any applications due to this change, it also seems like a pointless exercise at this point. So my suggestion would be to just leave it alone. -- Jens Axboe