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 8C928C25B75 for ; Wed, 15 May 2024 07:35:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D8AFF6B03F5; Wed, 15 May 2024 03:34:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D3B5D6B03F6; Wed, 15 May 2024 03:34:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C027C6B03F7; Wed, 15 May 2024 03:34:59 -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 A27746B03F5 for ; Wed, 15 May 2024 03:34:59 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 0B530141485 for ; Wed, 15 May 2024 07:34:59 +0000 (UTC) X-FDA: 82119818718.29.94FB3DE Received: from wfout7-smtp.messagingengine.com (wfout7-smtp.messagingengine.com [64.147.123.150]) by imf23.hostedemail.com (Postfix) with ESMTP id B037F140002 for ; Wed, 15 May 2024 07:34:56 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=arndb.de header.s=fm3 header.b=fBh8nkRi; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=AsX96VWV; spf=pass (imf23.hostedemail.com: domain of arnd@arndb.de designates 64.147.123.150 as permitted sender) smtp.mailfrom=arnd@arndb.de; dmarc=pass (policy=none) header.from=arndb.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715758497; 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=vYBANP9AhE/d4SYDAtFqOYHR51zF89WgGBJY4yYfEbU=; b=f8KVyrxAM5qczP7RmjBe3puXR8L8e25S5mC/QCCwdRAtRBsjV2Z+5ziyzFZ4cSC4HdLM0C iGMB560wUg97BI2gDdciQIt/uGifp4YRG0lMTkT1L+zpcx/+iIArxxHTgrsnzuYJvdlmUO F6Law5CAjHLfw4ppI1Nf+MT5bitHjEo= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=arndb.de header.s=fm3 header.b=fBh8nkRi; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=AsX96VWV; spf=pass (imf23.hostedemail.com: domain of arnd@arndb.de designates 64.147.123.150 as permitted sender) smtp.mailfrom=arnd@arndb.de; dmarc=pass (policy=none) header.from=arndb.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715758497; a=rsa-sha256; cv=none; b=enJ5XfSGRYxx7nQnjJUrmlcMlclX52dU/hT9bowgLe20qyDhd6OvaY9hRUEN/Bj1ZUiG84 hsZN6o5nPv6jXGXnpfYDJLrrOb9PZ2M7qgiPfkAhW3m6Wfo5ccAq0fPkuLXkn/4aZJmX4e GQFzaAhCx9QEbaQotz+aTyEkEd/rnfc= Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailfout.west.internal (Postfix) with ESMTP id 664B51C000EC; Wed, 15 May 2024 03:34:53 -0400 (EDT) Received: from imap51 ([10.202.2.101]) by compute5.internal (MEProxy); Wed, 15 May 2024 03:34:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arndb.de; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm3; t=1715758493; x=1715844893; bh=vYBANP9AhE /d4SYDAtFqOYHR51zF89WgGBJY4yYfEbU=; b=fBh8nkRioN2mg4e68WVi/3USgv +hXgKI9+wvlzhnDN/BsJAkWcdpd4vm8XxJ1ytSeV9eA5dJPGsYAHiwAWKBkiqI0o Z/nnMXdhVsQeu31HeBjkvfsw4y90IS20zEd1XXS6LklsF5IhWirTXBibO9GGpTgO OosXcJG1YXO9uhW/OiIwAwyLnwrbLzE+TxQA/ilRj2/eS/eK/TQ0iElSpEJfQx5Y 1kprX8MUZlkdQcPwZoG5tK67SyZ11d0Y+W+D3vzDK86aTsXACzwjRQBt6v2o8OKh r0lyugNyjYdec86oSIv5CyPIKMxBXWEstiyFwNtQAKa/87HigMWHWSmotCrQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1715758493; x=1715844893; bh=vYBANP9AhE/d4SYDAtFqOYHR51zF 89WgGBJY4yYfEbU=; b=AsX96VWVBUDft5ySkos/jCnMBF+Jq5h6nP2QvMhrDCL/ J27ZPMy9V8syoXKAfZN3bHQuKnpvYsBH7BfF81NGWq6bzD2/y+tM+zLjaZk8qh1K 78uckXnN7U6hMCOAMlC+rL3VxX2ikeqlmpUZx3hw1zRAu8toxyTAjgCZsfvc3SY/ BnfGNNpX17ggOEbdYUm5gmpyq703jVGoQPvs6QVDKKZFzr/NLZkUWWnC0k7lW4g7 9idkhMwYDmCMjSuLxKXqlkx8UaEsCUmC72B2YKc0wsUAnmYwGrq/G8Du5vrHHLuF f4fV/bfY4HWal34oyDp92MK43avjyJTOfqfo3GId1w== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrvdegjedguddujecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvvefutgesthdtredtreertdenucfhrhhomhepfdet rhhnugcuuegvrhhgmhgrnhhnfdcuoegrrhhnugesrghrnhgusgdruggvqeenucggtffrrg htthgvrhhnpeffheeugeetiefhgeethfejgfdtuefggeejleehjeeutefhfeeggefhkedt keetffenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe grrhhnugesrghrnhgusgdruggv X-ME-Proxy: Feedback-ID: i56a14606:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id E9B46B6008D; Wed, 15 May 2024 03:34:51 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.11.0-alpha0-455-g0aad06e44-fm-20240509.001-g0aad06e4 MIME-Version: 1.0 Message-Id: In-Reply-To: <20240514102757.b7034966a58e6cf44d75dc7d@linux-foundation.org> References: <20240418-alice-mm-v6-0-cb8f3e5d688f@google.com> <20240418-alice-mm-v6-2-cb8f3e5d688f@google.com> <20240514102757.b7034966a58e6cf44d75dc7d@linux-foundation.org> Date: Wed, 15 May 2024 07:34:31 +0000 From: "Arnd Bergmann" To: "Andrew Morton" , "Alice Ryhl" Cc: "Miguel Ojeda" , "Matthew Wilcox" , "Alexander Viro" , "Kees Cook" , "Alex Gaynor" , "Wedson Almeida Filho" , "Boqun Feng" , "Gary Guo" , =?UTF-8?Q?Bj=C3=B6rn_Roy_Baron?= , "Benno Lossin" , "Andreas Hindborg" , "Greg Kroah-Hartman" , =?UTF-8?Q?Arve_Hj=C3=B8nnev=C3=A5g?= , "Todd Kjos" , "Martijn Coenen" , "Joel Fernandes" , "Carlos Llamas" , "Suren Baghdasaryan" , "Trevor Gross" , linux-mm@kvack.org, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, "Christian Brauner" Subject: Re: [PATCH v6 2/4] uaccess: always export _copy_[from|to]_user with CONFIG_RUST Content-Type: text/plain X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: B037F140002 X-Stat-Signature: 9joq16ypk9qm3yfwhijkseryawbsic3c X-HE-Tag: 1715758496-552001 X-HE-Meta: U2FsdGVkX19JCY5uY2HMXQvH/iXQWPcIg1lztsZFKku7cyW6dnJ9XNMh8U5MngNfPu0HgmS8lLoQInf1HZdkejV8dKtbsaT4glkAgtEBBgH1i5bK2HKqWwt5IC5eWa6u2kcC9M338nyBcMYN1mwrxKiY5dxwCa/ffNfdi3z3UpGPPYzMBHvC8nAgyfH0P7wn/rU2JUDUfFj9CYqruGMz/b+7nri2GfH6Vb+6V5ZGsNEFlEkxDqZ0vE0yIxqqlNDTEPYOZGoq+LgcVIDrdu3iE96CpDYGQl+BgFjfpLHsyOtsWFP9jRbyhxdcdOdc38hCV7OAjxqx2ba5r/SUwt46s2AYj5gvpjbv6zOvwSQUzqeqlMRWwVtcoWJsMtcBuZKfRA+Sv6wMjjEq/7SM+NSwbE8924B1RCHDaGAVUceu0wJshg7T9nuXCc25tMbS7rOHWwYb+HWiWImYkN6fQXqpYn7IkbR4zoGXSy/gQ5fIYtLFLbDieZLM523ll/9sWgco5YG3y7TIX5mE+O01Rx87ovwx/4y+rBICWn0Ou+aFKqcvHuXGVaDxjeQ3MkgQuozpbipzE1Mm8skTUGG97vo7dfnWwpOvcY98ydkBBPwxTyF/E+IzcehW8urluaJ45jBnJnZBuqv3JCyxqcQML/9VshOl4HueaS4JyQrfp8ytRLrtq5o8BmMm/N4oC0jgwn8HTMsQR9cKsnk8+olghsfM1DjI8YzQe0mksJ9m12edGXFzDVENn/Lc5fXWcvBH2fnqUtHFsuLjXyTDPjVW3YQ7N+MzPiuIFvPQTfWah3Er0Ok5zPeOX+yFnto0HQGrewDyNZDKcRAu8xZBndpUaXPf9vXpsdOstWst1ksAFwOtjw4zLILV+aEXWbaZWo36j34ng+fhnYSKZ3gO0SgBeZWtvI7vtmpcVJYoNIxJ5lVYZxJa5zbUKYLrlF162lCQuz9+9WliV/9VkLOZswd8UaE ThGu3Cjy pQAVWRvxVLgjorrOYKJWy2Rs0ZlpzkYLhN5vmh4hsM87W+V0yaFhkySdomzYYI1aI49ZGHC7ASt8BlkB25TVgibM9WftsTAcCAxQ8/qee6xT2jp8j0RRq7uf+MksoZmns1LGS8WZfrZqTMu+jpcTGTfMqGf1LEt5VA0DRqa7O+icuRKQlAuKNguDB2fgrZsq7QhNns0jI7O9ec31N9L4M8qp81BQkoI7UdLzcWPrnEPOPQlMDrpM3x1E5j8JYrJivHARej39edVuxmTdVDGFlk05+OHPUggkDNjPo0/JElOnU0J2ZshhnPIACVu38nNbPz20r 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: List-Subscribe: List-Unsubscribe: On Tue, May 14, 2024, at 17:27, Andrew Morton wrote: > On Thu, 18 Apr 2024 08:59:18 +0000 Alice Ryhl wrote: > >> From: Arnd Bergmann >> >> Rust code needs to be able to access _copy_from_user and _copy_to_user >> so that it can skip the check_copy_size check in cases where the length >> is known at compile-time, mirroring the logic for when C code will skip >> check_copy_size. To do this, we ensure that exported versions of these >> methods are available when CONFIG_RUST is enabled. >> >> Alice has verified that this patch passes the CONFIG_TEST_USER_COPY test >> on x86 using the Android cuttlefish emulator. >> >> ... >> >> -#ifdef INLINE_COPY_TO_USER >> static inline __must_check unsigned long >> -_copy_to_user(void __user *to, const void *from, unsigned long n) >> +_inline_copy_to_user(void __user *to, const void *from, unsigned long n) >> { > > I think it would be helpful to have some comments in here describing > why we're doing this _inline_* thing. What problem is it avoiding? How about /* * Architectures that #define INLINE_COPY_TO_USER use this function * directly in the normal copy_to_user(), the other ones go through * an extern _copy_to_user(), which expands the same code here. * Rust code always uses the extern definition. */ Arnd