From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A0E3DEB64DD for ; Thu, 29 Jun 2023 17:56:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C051A8D0002; Thu, 29 Jun 2023 13:56:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BB52C8D0001; Thu, 29 Jun 2023 13:56:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AA46E8D0002; Thu, 29 Jun 2023 13:56:29 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 9CD528D0001 for ; Thu, 29 Jun 2023 13:56:29 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 3C4068025F for ; Thu, 29 Jun 2023 17:56:29 +0000 (UTC) X-FDA: 80956540098.02.8C9591B Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) by imf02.hostedemail.com (Postfix) with ESMTP id DF59E8001F for ; Thu, 29 Jun 2023 17:56:25 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=AiI8WWV8; dmarc=none; spf=pass (imf02.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.49 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688061386; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=jNOtAlZsxNFXBjiO7ePrUZV0+YgygUmrdD3PxgMZGw4=; b=IL18wemojEKL8O4kPZ4g6Hc5Rf48hUo8xApsFdjQitx3F5BgoTmxIDDeMewWOlhUDybVGi 0UVoPGG7ROVNWDkw9Pf4glFLlzK9TokD1TDwtuC8gHKUa/6dzww29hTjrz8jHXNNAMUPZ6 m6+1fRztuRwvD42O4/kQ+GqkTZqrI1o= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=AiI8WWV8; dmarc=none; spf=pass (imf02.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.49 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688061386; a=rsa-sha256; cv=none; b=EATSpBPf1FrkxD5tTo2p6OhVy4999FwGEsQeEZ4r8at0yAazOes8hEfHcDpABjdmLGqa0B Tk6dHJRxOGr/lQC8vuD9BLtONwpd1C2MdnHW445TXUz6UrTLiqrq1SLuf1tlAe33TgM7Nw nNMNfB1SicFPVQC2qxAxZ8TZBp4++Ow= Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-9923833737eso101322466b.3 for ; Thu, 29 Jun 2023 10:56:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1688061384; x=1690653384; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=jNOtAlZsxNFXBjiO7ePrUZV0+YgygUmrdD3PxgMZGw4=; b=AiI8WWV8lYTIOYKTYSdD+TMAoFbP8CYV2flIeV8blvZp7h4ZU3OuJAAfI+uasq7pdy cnZngcld7GFs0JR0twPLXZBIjZNr0ik1jZjVPII9xh7KXdkmjRap3SImVn+4UrHXMxZ4 m3l7KOavFalS2ewtkMeyk8m8bxQOeH5TUs+Is= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688061384; x=1690653384; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=jNOtAlZsxNFXBjiO7ePrUZV0+YgygUmrdD3PxgMZGw4=; b=Z1ad7+PtZE/MQk6+BYLVApZwRRSpndB34E2ZStvfodx0UmvlF7p+2dQrqYfXJn8Ppn K4YB5tt58LARY0YRB57614Z9SAJtsFQLqbpqB0z7Up8ssWjBsLkvcXxNobJ9MP61tMd3 x9KE4cYq3xUwI6Yn0q7sxZlXLKhG4GGOvlVhuwk5KJOpmwGBkNgcmBb5cFPVP1t1Mk6S 6K4A9nsbSVsemJaP8rv7QVgfUb3kl+mgoAlEebkBz0sCxIsHE0l/dsQyGQdbjMqIAM43 Ldgn154P2lmUZfuhVftdt45uEvJ4h0JvVEf1GlZNaYSrwrArXr3cPE9QpXfNl2moHLS6 vZxQ== X-Gm-Message-State: ABy/qLYQd+52Lp9ryowQAPdPUeQx0BWToTcVHhtQMeleBfrP8zofwBEe WDFkTcae3rNWY99pM9aWo5LtL50Zh5MugE5MN/zOqYau X-Google-Smtp-Source: APBJJlGhQV9YIWqdt2GYEbELZXvLWsw35m0rGEpryvuldUlh36uSArMvkww2xm8gWmze6oZTQj6KrA== X-Received: by 2002:a17:906:8556:b0:974:6026:a316 with SMTP id h22-20020a170906855600b009746026a316mr190183ejy.19.1688061384285; Thu, 29 Jun 2023 10:56:24 -0700 (PDT) Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com. [209.85.208.53]) by smtp.gmail.com with ESMTPSA id bx1-20020a170906a1c100b00992665694f7sm2298780ejb.107.2023.06.29.10.56.22 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 29 Jun 2023 10:56:23 -0700 (PDT) Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-51d9865b7bdso1012569a12.1 for ; Thu, 29 Jun 2023 10:56:22 -0700 (PDT) X-Received: by 2002:a05:6402:f1a:b0:51d:8961:bf07 with SMTP id i26-20020a0564020f1a00b0051d8961bf07mr36999eda.3.1688061382069; Thu, 29 Jun 2023 10:56:22 -0700 (PDT) MIME-Version: 1.0 References: <20230629155433.4170837-1-dhowells@redhat.com> In-Reply-To: <20230629155433.4170837-1-dhowells@redhat.com> From: Linus Torvalds Date: Thu, 29 Jun 2023 10:56:04 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC PATCH 0/4] splice: Fix corruption in data spliced to pipe To: David Howells Cc: netdev@vger.kernel.org, Matthew Wilcox , Dave Chinner , Matt Whitlock , Jens Axboe , linux-fsdevel@kvack.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: DF59E8001F X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: i7cn9gbjhnft3biwzc8sipfquf6odsp6 X-HE-Tag: 1688061385-317343 X-HE-Meta: U2FsdGVkX1+p5jB0p4wqA/2MIk6jSvShpTPfEtZiK8/ma5VWJamwk3p+uTSUl2MZF6movUyajHhhmqUY7CLaBHdXoefEU+EDydsCQhxKw0jsH55FSbB2LFWIdl41HvBvBRors+iT7KW0C7b028McUHc8UMO1YEO0mgnoG7FBqKpURdYXgdEDJkRCE9ofQfjJmgx0t9YP0fDwaLqtR/pFyHTMs5fsEabcllzU/NR7s120NGdLV0rim5xWK7ueFdUzaiHzoHd+4fM3BVQ2ANXC2APaN6IElCpWxL3g4e/u35Ewb5QOzKHLDJNFaQcQEPFw+Sys6C/NiyGjBCnubxZfbyZhbV4tH/e+CKT2QZuNCuAjZazBdSJjyJxj8OOL/JhDGJTmiHqv7oty0dUaxluNuHNzxGqhFFRY4WW4Aqoa3OgGpLX5bhVyZXUi1csQlhy0QlwOVUkccwnix7rQHyPrEftLDAEUHvzmd2TZc0zTScSTsX2ejDdsFY1feytOcv4pv1Z90Q1MpeEZzLYrM7yOdvIJt6YLEkwLy3Z2vPlLVmp0yb89WGTDlV1BMgwphP2PapBFYL/i9KcAVFFG8sSbX6m9WOxNGbiS/iJT5Fm+TNGXlEHLb83jGy/h/PDTklMen4Lm2nI2B79aiZwi62uJA3hvILK68lRknFr+CMkBdNsOAKelsMhtlIlJM0SvxeDUAGlA+Jw9YFj4vQnOOGSkbOimAD1quQPU4Gvqbl5Lt26YnMGY6fVceR3YOb8T36IKOsO+wRTOaOhKDRMABZ5RuLI8OE9MvUlTuAmK5iB+G1c5hOvHH8lLUFZFwk6ERJnELH37U/ELfrt+n0H2BTsGmZ9BVhdaGxlJ/glUBThrVkdbnCUpfNuUU3oPzMxHr4/vTkS9+JP3cda3Ywj5ksjtdnB+LgZAxUv+y9NWKUyvjbKjIc3VuuzncHrZE0IJKseoid6RuUKdGYibPPsZVZH hFD8c825 Y6LpVVQ/vArCNSR6MByw8RiSaDRX6ysQcwu/3A62L2ZC4+TGe+C0bHgB41siIclaxPs8/TQ7bRybDCyDXwqaTuxfXWIRcgnq5XYez6lFiT7IBzRoB7zeAE4J0LVsyICfXnk7VgV7bWe3YOLKakD5zsfIZqUaOkvV3r0meXzbTfYSg14u09hzeQASrzyW2JHqhb+w/Dy29ZzAnHkTsdJdvrjwz3CR66fg8OAPZml1iPCPfUi/qBin9cHX8NQyo28P+FdehZpaoPAiMW18dlVtZA+IGTaEHjbETQ+XEg+Im6G2WnRpEYeWCSlbiLVQpmLAGLIXW0QjRhgG0c2bQ5/4PQmUOZVjub9E7HIXGiP6nJ6xTWU1eD/lJK7TllVcd6xxU5F9zBCj9uo9gTJgsbEMBalJPfe3L6caX1c9KqJFGZQQ4oY0vmG1561meewSOaan2JZbKZbgIAf6h1WOAdsG1/hW6Z5Y9ATfzBJ6q5909uJnn4SIzEtQaCmWtSya8yxXqWzLsWm7Uy7fgc2flpXqtAs4dOPbv/thOiXnvr8asJDZermc= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, 29 Jun 2023 at 08:55, David Howells wrote: > > Matt Whitlock, Matthew Wilcox and Dave Chinner are of the opinion that data > in the pipe must not be seen to change and that if it does, this is a bug. I'm not convinced. The whole *point* of vmsplice (and splicing from a file) is the zero-copy. If you don't want the zero-copy, then you should use just "write()". So I disagree violently. This is not a bug unless you can point to some other correctness issues. The "stableness" of the data is literally the *only* difference between vmsplice() and write(). > Whilst this does allow the code to be somewhat simplified, it also results > in a loss of performance: stolen pages have to be reloaded in accessed > again; more data has to be copied. No. It literally results in a loss of THE WHOLE POINT of vmsplice(). Linus