Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp4682130rwd; Tue, 23 May 2023 10:54:10 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7TI8msFKKcbPYdrUS7BDWw2uWVKwfBcyh3+8/860uWc9pjBIA00rOyJt+lPaigYyP+pGr7 X-Received: by 2002:a05:6a20:3c8e:b0:100:a201:83ce with SMTP id b14-20020a056a203c8e00b00100a20183cemr16553298pzj.9.1684864450477; Tue, 23 May 2023 10:54:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684864450; cv=none; d=google.com; s=arc-20160816; b=B+wNC2KaNr8we9Pkn2P8blCwg2toA7KYUf9s8fSjsvNZfXcvwTVAG6dlRFeHFpou/U 0qdBctgBuOEFHgfLUFcebUIkdPh4qBWP0EMlnyOcBk9gLl3ujTSslkDRjKzMA4VvwMB9 fwpaHg7FgKa3v0VfBy5yv2TXP0VoNM9vG4RhEhVMd34t11evrKQ8P5ggaeZbTr5Qcs4f 3dvzTreZfnUEhizP4L3DjuxSbDzy+rkYqOAo5obhESnTq9CfjMA9aNmin7qNxI6sNafh CYGqmp8cEpTGGCpz82YHIoom3K1h7suUj4T2a1JStLqXMnTz4342WXihx5Y4kXK2ggm7 XoZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version:date :message-id:subject:references:in-reply-to:cc:to:from:dkim-signature; bh=P83mAP3794Qc2rx7etTG0J7GguJCN4lGoQQUE7E+dSE=; b=CuzuAjjVQsYl17GI52M1IWEfJukNM20/T50Y1F+smBJsoGVqtJXUERskxzaGKlv8+g dQ0/Wq64ANqMqzxiLBMympc/AUgPYfyTx865neZ7YI3olNplHm2ZKk3SB4heQTMEa5pW q+HjVClt9pP+vKc535NqQIzEdZMQBYN/iNzLOmrHTspaMSjZaRW7KlWoece8nxgCFkI0 FAr8YHf6W3kez0ioy97VmfUNiSYCRogsQ8BXzR1GCgGWtHQii6wN3q39zwv7VVFFuUYG +N4MINDQA2WYe4aTbcRcUYi+AyjeAt6O7Ov4W4S6uY8lvRrKb/qBNjdrIxx/DIg+l1ak pCWA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20221208.gappssmtp.com header.s=20221208 header.b=tyOtJD0k; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 193-20020a6218ca000000b006467de1cbc8si78266pfy.226.2023.05.23.10.53.58; Tue, 23 May 2023 10:54:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel-dk.20221208.gappssmtp.com header.s=20221208 header.b=tyOtJD0k; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235630AbjEWRsK (ORCPT + 99 others); Tue, 23 May 2023 13:48:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46602 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234547AbjEWRsI (ORCPT ); Tue, 23 May 2023 13:48:08 -0400 Received: from mail-il1-x135.google.com (mail-il1-x135.google.com [IPv6:2607:f8b0:4864:20::135]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CC8AA10C4 for ; Tue, 23 May 2023 10:47:36 -0700 (PDT) Received: by mail-il1-x135.google.com with SMTP id e9e14a558f8ab-3357e69c49dso795075ab.0 for ; Tue, 23 May 2023 10:47:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20221208.gappssmtp.com; s=20221208; t=1684864039; x=1687456039; h=content-transfer-encoding:mime-version:date:message-id:subject :references:in-reply-to:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=P83mAP3794Qc2rx7etTG0J7GguJCN4lGoQQUE7E+dSE=; b=tyOtJD0kR7qpzgP6TZz2YGZvIE22hlgwPOcC0vjn0WYZTw5f7XQauSd7ykjRZUFyuu 8paXzMFZhGldAxCIkNg/pQ788ENJ24nBPHjMn77GDP0VyZSdhI+4aa8BfgsIeNDiCviv SgQCLjTyWjfy66Nsnb3MP7Jt3UYm436C6GsDSd4BGFbAvE7F12ro8mKw7aKHjt04uIx3 42FhcrYkh6RZ5wUeK4U78CQ68YY8n+UQ12eTjno6fCdOCoQrTBCM8lI6pchKt/j8cQn/ jneP+KYNEn0S4n9P3D29xLvzZA37NUDBcCu4dzPrQBGTAW+trW8Rl9mwPeHN1d71iYZn OMhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684864039; x=1687456039; h=content-transfer-encoding:mime-version:date:message-id:subject :references:in-reply-to:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=P83mAP3794Qc2rx7etTG0J7GguJCN4lGoQQUE7E+dSE=; b=RBY4mUnKkMiE8USm6Bu61oQbkLS72V2KDDlWvC3W2wHSbRZIcp8gGNKbD1jWV51Nua 3cE9VfNvdiCItR+yGYBaz4Z1ZvuBwg+I5DlWimvyeTtNIqzgD691CO1kCAdZHTBrQ04S JkCzEC8MIF/r5ZGjLfar43trO2pAllksQjXL09+5tcU/5ImDdQ3ygvdpzZ8TcimtGSVW Qyh3ORsazpNckZHXuhq9VZptf8+cQxDXXItSxSIpuqXf9qwhwcgh8jFy0aN7PfyCOo37 i+/H6J4ltxW0OUYIZka1E4Mc5aALHmv4VNJRZ2xeMnj6BXg0iuyc2CDrzzvjTVA9tKg0 p2yw== X-Gm-Message-State: AC+VfDxnvH7TBy+XKmDBY/WNRd0vsy+0S2J+DMKSnjijV0vfW/57hw3C jcj3pdnxQNWZKuB1rPBw1Y6u5g== X-Received: by 2002:a6b:b20f:0:b0:774:8351:89ac with SMTP id b15-20020a6bb20f000000b00774835189acmr1448217iof.1.1684864039207; Tue, 23 May 2023 10:47:19 -0700 (PDT) Received: from [127.0.0.1] ([96.43.243.2]) by smtp.gmail.com with ESMTPSA id x10-20020a6bfe0a000000b00763ae96e71bsm2790656ioh.41.2023.05.23.10.47.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 May 2023 10:47:18 -0700 (PDT) From: Jens Axboe To: Al Viro , Christoph Hellwig , David Howells Cc: Matthew Wilcox , Jan Kara , Jeff Layton , David Hildenbrand , Logan Gunthorpe , Hillf Danton , Christian Brauner , Linus Torvalds , linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Jason Gunthorpe In-Reply-To: <20230522135018.2742245-1-dhowells@redhat.com> References: <20230522135018.2742245-1-dhowells@redhat.com> Subject: Re: [PATCH v22 00/31] splice: Kill ITER_PIPE Message-Id: <168486403802.409251.16946238913512642087.b4-ty@kernel.dk> Date: Tue, 23 May 2023 11:47:18 -0600 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Mailer: b4 0.13-dev-00303 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 22 May 2023 14:49:47 +0100, David Howells wrote: > I've split off splice patchset and moved the block patches to a separate > branch (though they are dependent on this one). > > This patchset kills off ITER_PIPE to avoid a race between truncate, > iov_iter_revert() on the pipe and an as-yet incomplete DMA to a bio with > unpinned/unref'ed pages from an O_DIRECT splice read. This causes memory > corruption[2]. Instead, we use filemap_splice_read(), which invokes the > buffered file reading code and splices from the pagecache into the pipe; > copy_splice_read(), which bulk-allocates a buffer, reads into it and then > pushes the filled pages into the pipe; or handle it in filesystem-specific > code. > > [...] Applied, thanks! [01/31] splice: Fix filemap_splice_read() to use the correct inode commit: 5c1a3db1ad679a504d31f8d7520b8d143cff4a81 [02/31] splice: Make filemap_splice_read() check s_maxbytes commit: f4d4a116512e2184461016bd5a4f1b5c659ab52c [03/31] splice: Rename direct_splice_read() to copy_splice_read() commit: 49bfda41ae98a5b55a4638a085202e92c2d82bb3 [04/31] splice: Clean up copy_splice_read() a bit commit: 005ccb384566faf30cf9a45b624944d29917a9bb [05/31] splice: Make do_splice_to() generic and export it commit: d4e52f54da56fb95a0fb9c55a2fedca009ba27b2 [06/31] splice: Check for zero count in vfs_splice_read() commit: 1c619a3aa1b5432e9c8451d27f92682557f6e995 [07/31] splice: Make splice from an O_DIRECT fd use copy_splice_read() commit: 27c3a9bd19a862b051d0249c1434c27b532064fb [08/31] splice: Make splice from a DAX file use copy_splice_read() commit: 1e9022b9b150fe37293e78b6a4d1ef3b6cccf4c0 [09/31] shmem: Implement splice-read commit: 680cf0d89c54866599dad4144b35b3b9b38da036 [10/31] overlayfs: Implement splice-read commit: b9c516b37fc7cc930882b59713264e16d13dc195 [11/31] coda: Implement splice-read commit: e0187fb3198e0822afb6d95efb64825493d831df [12/31] tty, proc, kernfs, random: Use copy_splice_read() commit: 703670cb841af4c3499db72e79f70d1afd27aa24 [13/31] net: Make sock_splice_read() use copy_splice_read() by default commit: 7e678ad3bda2c466ff5cb074a60069e341736196 [14/31] 9p: Add splice_read wrapper commit: 23f9131befc8292677cd83aff12b4362c6d2b0ff [15/31] afs: Provide a splice-read wrapper commit: 1210eadcfd9cc1e9c0b23c6c55c85ff1106eae63 [16/31] ceph: Provide a splice-read wrapper commit: ecca566b1bc58e7ba3cd0ac745a1f4567a5dd6b7 [17/31] ecryptfs: Provide a splice-read wrapper commit: a8b8d669b744bcf965fd2b46ddfa4c94cd8a1d3a [18/31] ext4: Provide a splice-read wrapper commit: 22d3afaa35b8dfe3dedd5c1eba7c68cd1001f8a3 [19/31] f2fs: Provide a splice-read wrapper commit: 10f3bb0832bccf47808bdd1517bc32f2241009f0 [20/31] nfs: Provide a splice-read wrapper commit: 51bea4c9f43e367166ad799e0a338fef8b7d360e [21/31] ntfs3: Provide a splice-read wrapper commit: e0f80cb19e7d8a5b7d0891ae4079e9cd08ce1a21 [22/31] ocfs2: Provide a splice-read wrapper commit: dbf9b0577f7b08a46c769a0c5cbc497e9b48d238 [23/31] orangefs: Provide a splice-read wrapper commit: ec1498f4199e4b276ed9a897126873dba663f1fb [24/31] xfs: Provide a splice-read wrapper commit: eba8fd3970721ee4059e509b5f1db512de8486cc [25/31] zonefs: Provide a splice-read wrapper commit: a73aa694dae34eba02296ecba7a2b815ed492f25 [26/31] trace: Convert trace/seq to use copy_splice_read() commit: 580fc3965524b2dbd0472d52392a4d78e2e865a7 [27/31] cifs: Use filemap_splice_read() commit: 641403a99879bb4f08698d8bb1ac1dfa752c8dd8 [28/31] splice: Use filemap_splice_read() instead of generic_file_splice_read() commit: 69d1253f516798fbce0a6d2b693112cc02cb46a4 [29/31] splice: Remove generic_file_splice_read() commit: 0e67da77774ad90fd4a28d5f852687e7562882b8 [30/31] iov_iter: Kill ITER_PIPE commit: 6569c1d1c210d15ac0c402aeaada217f3b197737 [31/31] splice: kdoc for filemap_splice_read() and copy_splice_read() commit: 4e240fcf3a7572c1743b24b4d7e1aeec4a8f56b7 Best regards, -- Jens Axboe