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 C7A36C77B6C for ; Thu, 13 Apr 2023 04:41:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 467076B0075; Thu, 13 Apr 2023 00:41:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 417716B0078; Thu, 13 Apr 2023 00:41:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2DE48900002; Thu, 13 Apr 2023 00:41:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 1B8B26B0075 for ; Thu, 13 Apr 2023 00:41:40 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id E07921203AE for ; Thu, 13 Apr 2023 04:41:39 +0000 (UTC) X-FDA: 80675119518.29.2B1940B Received: from zeniv.linux.org.uk (zeniv.linux.org.uk [62.89.141.173]) by imf23.hostedemail.com (Postfix) with ESMTP id 3FF3E14000A for ; Thu, 13 Apr 2023 04:41:38 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=linux.org.uk header.s=zeniv-20220401 header.b=N2wDv10m; spf=none (imf23.hostedemail.com: domain of viro@ftp.linux.org.uk has no SPF policy when checking 62.89.141.173) smtp.mailfrom=viro@ftp.linux.org.uk; dmarc=pass (policy=none) header.from=zeniv.linux.org.uk ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681360898; h=from:from:sender: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=6sG3AiyiM7RBR5syEPdqKTpBbcBuB1IEexi+k/rw2bU=; b=R9vgonurgT9bFSaXe+g3xtV24wkVKb67s6ZHXyuHr6aNk8S+nz/COkCxJ7FUVEnyMqLjwN 38yew5wsOEcG77/zk1WbNsIPDhUhBqoh1wACwfWBoZsowzMb8RYJ+pofTbQdru4XsHJvdC 6cKkHdk8hNCauet3RrziJWYkXDnp0hM= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=linux.org.uk header.s=zeniv-20220401 header.b=N2wDv10m; spf=none (imf23.hostedemail.com: domain of viro@ftp.linux.org.uk has no SPF policy when checking 62.89.141.173) smtp.mailfrom=viro@ftp.linux.org.uk; dmarc=pass (policy=none) header.from=zeniv.linux.org.uk ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681360898; a=rsa-sha256; cv=none; b=fpy/HqKZFQmMo3CxX1TNSmqVqmu7NbtWlKUWZKfS90L/P/rYE/0A+0++7ggh/IP1P0q6qA N6vs3QvL/On8Y8iTj3CrKIBfPC1VmZgrFHhTN7CrMCi9M9cn7l478x6VUVhduXutysQWFL jV6FgdZwZvuefcY0vobKiu/vdgGda4M= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=linux.org.uk; s=zeniv-20220401; h=Sender:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=6sG3AiyiM7RBR5syEPdqKTpBbcBuB1IEexi+k/rw2bU=; b=N2wDv10mH1eRELcaGDIhhfrC/X PKXw8TloGBGgmaWkWPyJ7pnLJe9PN6dDwebeLQQvZBrkRstWL4H7RMJ8sojdrt2/6O2Jy7v042nvK dtybLlkGUhzy4xR+hDyV4gm14c+0j4dYc8FrzjIDPT8ozVC6l4ERwOhXJN1q2Ptda5TSgQRWW2IsB 57Nhy3k5PDsn8pamzEmWJ6DsfoK6/TTtY2AceKkN9SFMBun67gSyEIYQjUI6oNJBu8vpIMvTtIhKu ISOSTKarUReRQSlUuuC1O9RMlgEV6Ws4iDDCO5uMfXyQAf0dCXKcKoKwM6czVmFwCbebcq8QVs2Qo QKwTsrBw==; Received: from viro by zeniv.linux.org.uk with local (Exim 4.96 #2 (Red Hat Linux)) id 1pmolv-008Wc8-2g; Thu, 13 Apr 2023 04:41:23 +0000 Date: Thu, 13 Apr 2023 05:41:23 +0100 From: Al Viro To: David Howells Cc: netdev@vger.kernel.org, "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Willem de Bruijn , David Ahern , Matthew Wilcox , Christoph Hellwig , Jens Axboe , Jeff Layton , Christian Brauner , Chuck Lever III , Linus Torvalds , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH net-next v6 06/18] net: Add a function to splice pages into an skbuff for MSG_SPLICE_PAGES Message-ID: <20230413044123.GB3390869@ZenIV> References: <20230411160902.4134381-1-dhowells@redhat.com> <20230411160902.4134381-7-dhowells@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230411160902.4134381-7-dhowells@redhat.com> X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 3FF3E14000A X-Stat-Signature: uusjfknikg9x3zkd8rmghozrmo8y4ex3 X-HE-Tag: 1681360898-988360 X-HE-Meta: U2FsdGVkX1/jZwOpV5O+1rhhsdNarxmG8kExpK5dWvkd+dthElIMMeAEGk2EAvoIPCezh4BX85IiBXcB6463lXVdX6H7FOGOe/V7py3INkx0GNIzGQnl0NZrUyPFf34AcAZPleT8Rt0d3CTh4RRF83GJpo0GhYDQErpdOalNUrXolrtPeBC8pkFZ0gcsJ+rd1P80+Y9ZsZlCJ/oDFTciON6LLHwiNpTyWfwDYIW8GXCVd+Ex07cp9sYYu14Lmch5d+nU+WNPcrPMpIsr5hYfi5/ya/m+BYup6eLzXaS6ZYrM5UoYz0S8r08FltjLBBfu/f7osOjT3AgNLXkt8m/2wL2aMt66ww9+IGf9XiGSujHDgh9e00wO9JcRaRAUEAtPIhHS9p87V8gwkxo0XDdW4jOgmBFWjo1KCl969UoBTvujIG/ESK+Q0Y7tcK6CzksXtuRZoFAodhMbK9P0KNZiMWhfI8G+iC4aizWLY5v2uhPdSB8yhvrGAB+94zf9IcuywLGIU9X1/T7INBG+gkTSNs9LQ2KAOI/R3rhv+zupW7VGrQ8bKsbTJ9EmHIz7Zato+WEatgjRQWM0vRSCtauoXeBhdFsUEWuZ1n/m3mIL35Ba7z6H7rAoRhoiObq2qRVuVTSDWULMmuK96VaLNsOVySCIXLAqdaqfnMmHYPoq4T/fhImyIo5afs3Ou1eqOaqjbWT+zjNovtYI6chT+lMVOPoTGmgnl9A/fWewkUrQIvl/WOPLT2CUJBFbIxo1E5gRJ0sFnq9Y2ac0lII1B+mHupeWKRMOPT9Kl4UJZ2tuCcUYp2xZnCoX9OoqHrc46nahw0PjZtZcvS18PAC+dCt3H16fTbTaXYwC0PINFDKNsm52Z4DR1WlDYWwi0KQUJDfInlkyckrZY1NbJn0MZfmD8U1Rrny5sUxLcQSGZebc8hNM/KCtougFLftU0MSt+ovYXcp5HFkfUo4Gaxdhpdb W91zLMWV vcj3RzvESwMe+8xRsMbiBbvQ7c+2Df8sbFVH391RLAWh/f1ttiE/96XRHP+ZXG84zNoOs81JrHyO0ObUg7ASolsgX3YQX41/1V8mSkNVemrxlaC+jxeIoYKTA07guqDtyOF5ya4XjPlrfbt2GcsQtpovtAh9DqsLD7k11vGBzBr9TrBrX+ITzK1sfzckSKzAuio6njSioWoGoMFYSEdj2FJxXNkUZX8I+y/yk8qUTCvDVgnLisoiTrJ7up4/p8hrGUS5B8y0fMmj6luzevICXubC4pkZE2i8F+a23dcColHBYRiXdIDnDMoWCAZFdZM2qCZxLc4sUBRHKuvQ/DAmVsN7TpXQSf031p7BZQ+zKe5l01esxEmw3ElyZ/K6W4Ii1Ns2XSWi3I83OM+yYoBPQW1fytRlbybPF7JIquLtT8NoO3W+L50Oege1CW+OzRSf83iSV30xJVrprq5C3yGCQS0rZuloidfEW3wMohikUWAuubY8= 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 Tue, Apr 11, 2023 at 05:08:50PM +0100, David Howells wrote: > Add a function to handle MSG_SPLICE_PAGES being passed internally to > sendmsg(). Pages are spliced into the given socket buffer if possible and > copied in if not (ie. they're slab pages or have a zero refcount). That "ie." would better be "e.g." - that condition is *not* enough for tell the unsafe ones from the rest. sendpage_ok() would be better off called "might_be_ok_to_sendpage()". If it's false, we'd better not grab a reference to the page and expect the sucker to stay safe until the reference is dropped. However, AFAICS it might return true on a page that is not safe in that respect. What rules do you propose for sendpage users? "Pass whatever page reference you want, it'll do the right thing"? Anything short of that would better be documented as explicitly as possible...