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 85616C46467 for ; Thu, 5 Jan 2023 03:32:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DA8708E0002; Wed, 4 Jan 2023 22:32:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D589D8E0001; Wed, 4 Jan 2023 22:32:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C21AE8E0002; Wed, 4 Jan 2023 22:32:00 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id B3DAB8E0001 for ; Wed, 4 Jan 2023 22:32:00 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 7D8BDC05D7 for ; Thu, 5 Jan 2023 03:32:00 +0000 (UTC) X-FDA: 80319321600.04.A3FE327 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2052.outbound.protection.outlook.com [40.107.220.52]) by imf29.hostedemail.com (Postfix) with ESMTP id B213F120009 for ; Thu, 5 Jan 2023 03:31:57 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b="S0yPVXu/"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf29.hostedemail.com: domain of apopple@nvidia.com designates 40.107.220.52 as permitted sender) smtp.mailfrom=apopple@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672889517; 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=jF5IWH6aftL2BATdJNhs8sbB7B4PbQV80+cuVLfGBpc=; b=8oaEryUXK6oUGVV2BYjqAfc/2uJzvkLQEJfonac/EJKJZDXjgsO7y/X9+h3qBUecwwsCzu 8yN/eNwvcxfKe2TBHndKIPJgZwLudGJmh8a3dtvb2+Yhh+KZGLq1FdNcz/sQrHJRAfXGws PkqtnU3jSZZ6nOMW1drz7JWf9PnKxK8= ARC-Authentication-Results: i=2; imf29.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b="S0yPVXu/"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf29.hostedemail.com: domain of apopple@nvidia.com designates 40.107.220.52 as permitted sender) smtp.mailfrom=apopple@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1672889517; a=rsa-sha256; cv=pass; b=LLlih9XPTFlmxUKxY1Yrvz1SfNgi2EprmpoYhy5rAdrf++hieERJ6a5O36ea8X5p+CLFVk SifxTyarFY1C5y93jNrA7UHWEvPYNfgRWoDpJijsg2OhIbyVwreZnOHiqbwS87KZQx0wh7 4QHelDxQW50j9rIri4tO1Puj3fY7S00= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GpEKnKRn53wpsAgif8P15rHJJxYCviLpLJSpgSE9TuLUZQ2mwIB4bLGlLiqXuZK6YvZuJ3mVtDEjOoaUdlQhGHvl6MG0Mru/yJekKxzYDxKr6/4MEwDcqYf9woQx71KFfL4RGFXaTaCTKw198IElNk38JDb54WDglutKy+wRFb2QBZvwcbgB0PRoGPJumyxiZjJG1bhJ3VjMxZ0ToXVQKX2ncZgU1ZACj2tfMCGOZS2Aw1qOzoyN87k4s9uC/GCZi5Edo1ucfxdC/ocA+oT9FQ1ZKwfXrDRlU4GMByEElSoqVH75kT+9Fbh8aCpoAZ0C9qHm8wRhVlC5HncF3+bM+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jF5IWH6aftL2BATdJNhs8sbB7B4PbQV80+cuVLfGBpc=; b=D6n/g9aRzgnzTrJ/fvpL8VygowwETPKDlP8le9wrgV8rFAStmsWqhnjbYwnoFOIK6wG/1FeTKYvnXiETX4sb5N927m6EXSGkMSodTQ1FoklShvu8KIbhu8D8Z8hYKbqJxjVmxItg/VxuC/FD6Tc37aIAyAMgVE41k8boOCVsguLSo4TrICIQtiSTVxsnZUsLExMIpQPdYMa/c73E73Xp4hIUXI1gcjC5vUDJdjwjExXHJRzikmcGbvZmv20NzmmnREo9ROzM9IcCZQU3pP5w/WQfRBwhm1/V0V0Ut9ekxfWEr3dZyaaRQkf3R8i/gZYEZ/2+UIQL0q0uKoOjJchDeA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jF5IWH6aftL2BATdJNhs8sbB7B4PbQV80+cuVLfGBpc=; b=S0yPVXu/MYkDU5vtx6W1OMXxswe440Sm2/bp/p17wMibh5Y10AXFRxvU15b1wGEDuTYY76R3CGVzZEyxL9AXWTniZ1FJuyXR4y9EyM6oyfh7/9L5R6LdQ2kXT38RilYIY96qR1L8qh0NKYoTV3iKeLwudbQN2AuDAWaCwdV1Tb4JkgXO06Oh/QetEg9/JLI+kYWdhd6U0bqE1XBaqhDs85sD5bXQ3wqcuj7fhcYPH70ckQ6ncldPbhbh4ZfYduTJP8AxbIwZhSyxYqgKnukugXxqYqr5yIh0ADtdhgeVn57YjyHkTZb25j8XFdcgyeFScNWLx8FCFkG0n2CGFSpGIA== Received: from BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) by IA0PR12MB7529.namprd12.prod.outlook.com (2603:10b6:208:441::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 03:31:54 +0000 Received: from BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::ecfb:a3ad:3efa:9df8]) by BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::ecfb:a3ad:3efa:9df8%3]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 03:31:53 +0000 References: <20230103163505.1569356-1-fenghua.yu@intel.com> <20230103163505.1569356-10-fenghua.yu@intel.com> <87tu16rdea.fsf@nvidia.com> <87k021vnmw.fsf@nvidia.com> User-agent: mu4e 1.8.10; emacs 28.2 From: Alistair Popple To: "Yu, Fenghua" Cc: Lorenzo Stoakes , Vinod Koul , "Jiang, Dave" , "dmaengine@vger.kernel.org" , "Zhu, Tony" , Andrew Morton , "linux-mm@kvack.org" , Christoph Hellwig , "Shankar, Ravi V" Subject: Re: [PATCH 09/17] mm: export access_remote_vm() symbol Date: Thu, 05 Jan 2023 14:22:28 +1100 In-reply-to: Message-ID: <87tu15u061.fsf@nvidia.com> Content-Type: text/plain X-ClientProxiedBy: SJ0PR03CA0228.namprd03.prod.outlook.com (2603:10b6:a03:39f::23) To BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR12MB3176:EE_|IA0PR12MB7529:EE_ X-MS-Office365-Filtering-Correlation-Id: 4c87e9ab-9b25-4d33-382a-08daeecd638e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YsLb1NvKBuEcbnwroS/9K3JxGafIdApkrB9ss3m8/MLnsj2cWa3grkCbwlVgQEe+p+tzJysCn9e3xsDE6ylkKAE9ZHzAoXTt/TC4V/8oDaKRIeVfasOLKW8vOt1iNk+yqajvtC5G9C19SAI973hqEDYcN4WCkI0KIBqFDvGllkQ7FSX9+CZ+FSs6WbV7//PcVcS1k1BRgyle8edQgJ7oSrPIb5ASDqjwvq0eikj6Dp80xQF9Gos7HyIi3kPxAc8m9ZUjXK0o5Gk+aLObsnVTxaLs0JLXju1BTftZirCl5p0AaW/+fIpPSxPabYc0Js9FVAKabnad9vQUMKAxdSkILJO6wX9GH+Nzt+Y09OkqUXbqP7X0+euC92ya6Iqkle4NsYUzfkyenaz2ieEYxOOFI7Y2Lo0JcOU67+istGLNWRSyxpUPYdEl/ER0R4CuU42gBxWW+/KeRxwgynPMVnvmBtQKW9aGzLuCEp0lovykCc7f8WYbVAYvNn+DDRt6KuWvUDaV9Fk8+mTlpuOTHwQ/b7wJnvvxmBzKgO0Z0yU+0MQ1KsVh0h9WEl4RV0NMa8jQn3jq16JAg08/JB8p7fAXt7SgWtcmP6xaJhF+/E+GtYcYEOuFZ2WDLcWFMar/tUI4WVbQQcVIr82zuwyrmsIg9A== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR12MB3176.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(366004)(396003)(136003)(376002)(346002)(451199015)(66899015)(5660300002)(7416002)(41300700001)(316002)(6916009)(54906003)(2906002)(66476007)(66946007)(8936002)(66556008)(4326008)(8676002)(478600001)(36756003)(6506007)(6666004)(186003)(83380400001)(6512007)(2616005)(6486002)(26005)(86362001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ixXeE+CmQsQv8R+HwqrhAEVUVSBkVwur3vOcTirjUV8HkVAwfwJpks67Z1iu?= =?us-ascii?Q?n5kYyNLBxLu04ZwaDfseDe/ZvV09pl+fxIVehID2o/al0GKrSq7Zcuxm7616?= =?us-ascii?Q?HdLfpYag2Vymh83cUIJeROWTwcWJJfGClHWlp/bKYWBgzWlk9nG2REBAvOzY?= =?us-ascii?Q?oocnUO3vU0zQa33aD7zdWGhcs0tPqcGhKW4BaNi7VMgZ/4lJnHv/FXTR/Urx?= =?us-ascii?Q?2jphynldEpJ4WB+1sTebqnkfhuWAVG8TSXXCPubx4jksfeap58Su+islLZjb?= =?us-ascii?Q?i+qll9KTt3zpvfwvwuCtuJp/WrtrtNnHnQsIGJ2WfzxpBNXhYM7D8DA3XlW7?= =?us-ascii?Q?HcDDX8HjzBA1m5rDkFmSICAl1JS60NOM8QFepau9kvVui3A12Md9p/bzrNDS?= =?us-ascii?Q?vKB8ke8DyydRTiLmN/1Yy7lZKsN62iFqWt4Ggp1IlJS7A6G758N86SJvKT6M?= =?us-ascii?Q?AOfXjI0KsJFxlzooSQWh3WMUhDoaY+B/66+GYXsGkQNpoKF9vXeTdf+lTQjy?= =?us-ascii?Q?L8Wjhl1fdGFkCipj4ySm1eFoO1uLQAw94ATewIY0H35u4JklblCKExmAOMfC?= =?us-ascii?Q?rkSgDVag+1o1eybc8Srjf9uN9oygkJBhvxVZLM3kR6qA8rd+yvTmBR9THDaS?= =?us-ascii?Q?X+cR9oVTDwt4g4TUi+vljnqHaAS8sCRPgHfgPXtecieg3rXudYawba69/aHl?= =?us-ascii?Q?eSPE3PJ3AELGt10XEjd+osuZu9R4Mb+KU8OpblAvtgugryP2rFpQdwtVp5na?= =?us-ascii?Q?zNU7Apz/PyzHgN/UQ5k2WPH1Moc+qj9HeCE/sr4ALoKxc1x7g792XaNFtWip?= =?us-ascii?Q?W0t6h1ns8qEHcNhcf447QFbhiXUe4P2zwTrCbS8E6cFxgqjAQtVfy5214q+W?= =?us-ascii?Q?s4qO9mhW+I/m3rm+N2nLkDlaeqQSrpkSWuoYWZAcUmyoNNLjM1OHF7qXpUvF?= =?us-ascii?Q?mxtjX7P31Z6GnLQwFxfA1vScLkxPHW0vI60lV9cS/XuLKFcLUaBnfUBvpHqz?= =?us-ascii?Q?wLqkBQzkUQD6l0KIeI04cqPiWkCwetmqMAkwDiWkKIsf3uUSDlccYYWUiKnl?= =?us-ascii?Q?olgdD3vvgYu1BhitUCCKRZbiKqyDoxgBO2X+OSVfFd7XKRn0DL2POJ7NtZ60?= =?us-ascii?Q?ldb5Ux2xfwKxIO/aSH200cHHm1JZ819m6YAchmG7cPVIJHPdiOIUExhPSY99?= =?us-ascii?Q?Y7uXS1bIrE2Jc9ASkWVDi+aiaEAQtrShi4y2tZKrxcobEf0dKiuQuevqXBYR?= =?us-ascii?Q?XgyYM5Qa6HZpV5QfsC0LC1FaeuL1Mgl+QVSGVxpKZDdeV7/tApQXmPgyLnnA?= =?us-ascii?Q?oI3P0uBsS4xmRbYwAlzoYOgPLpGbTrAyytC8FlJ73Fst2Twepa5NZrVxCcIT?= =?us-ascii?Q?IkGxCgOsEqPHf6bapseR8KBzJ7gt8FHfWHtmfUN9CMYzvwbDLGiRZvlu6yNu?= =?us-ascii?Q?qIIsdUhFBdeK+FtJb6ssNDRyTxRZXt+k73tDPn/sHZU81pDeLBouF+3Pirf3?= =?us-ascii?Q?emEPCUQjqkNjC9jnLqrc6JZk4sZNLkxAqEiygcBCazZB7ADzbTwTiMV9MZ0B?= =?us-ascii?Q?31jq/AgjlSDorMeJg5yNYZkFBdrolNHK6pie47iS?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4c87e9ab-9b25-4d33-382a-08daeecd638e X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB3176.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2023 03:31:53.3880 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hlcUlrMOOAvKTa4EXFHghAWFr//KwUpUZ3JpZJskzf49hzlvNesevP9Y2EMCQ7VdSxvJ8w0G/jAv6skzZQ6BUg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7529 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: B213F120009 X-Stat-Signature: ht37thf751z8qyy89zkxqqh6nxsd3z1b X-Rspam-User: X-HE-Tag: 1672889517-498788 X-HE-Meta: U2FsdGVkX186yH//N1mQKhgOsm8OKhVcscFOuv5lItw0U+6edDkjlLcFTbSeGePyfvny/YFiGcn632jk5WSRJb/xUYTMsHJcKXEAG+TQZ+s2IvsdcwkN84EJ7Cm1zwHERflUm+PmR4OISmFDiNxWBbU2nl4khaqEhrLKCE5XPf6OMBDmG6+tgrOKKZ78Z6VoACJ6NN9k1/j/9YRLnHNnyWccBtHfdFs1i1wdLzQcjEkhR2Ad/Se8mQY3UBUWCxfCd35j3H1RGyrrnn79/9KnRvq0AxfoMIsTz+u1IQuuyNtmzzxPZER5/L/LIAYFb/rUH6E6TzFARcZ6/kYMScAt4UbLBrXQnbzwcSmwGp71EJg77fkI+60FJxo67tpSjLMa+5ivivVjmeZjPGQZulzoF2arb+5CKikC1QvtefQzE2wJUutyMjumofTr5w9loLHWfVO6OuwkFWGHZpN5Lbwx9cbSBoy2m0b50F9dTpeBqy4rZ0lbNaRjXkYEEVi12+dutlUZdTQgtOKZR861cdiFQKTMi9XlUck9jpFKrecpphUb4mmj5J129qBI6OcV1uIn8wbznIpAU7f5VPq8AJaqwju0GFKP3ptUbeAAPlx66HBsUJo2q2DkMHSJa9Gcw3moOlvEt0dbWVTpVSl8bTXUpZHFCO82mhaZVlEnNFxq4hREXB/hBU00lFZv/yBI3+97ZFJhx680lwuSqXT7lGCeQkomUf3AWBwTNsYnmtBtG5JvSlJclvI5TEpYRA26ytiu31eopj2Pn3scDU7OHomqZplFwTNoC+354Ld28iMD5iVBxzVHL+kBlXvE+wVdAFQiGYJ3mE4D5xIDbxcW8GFjdEmV1SuPDLPnzOYikuz7YVL3+ak2/sVHbUlygBDsM7s+dUl/aV9I6f8LTXHQdsQU02lLDivfa5va55VhkHf+lrvu5LWGwKF/ANV+e8hzEwCx90Jkjqn1N4+dJw9hdcQ KG/qWqoc Mm+48sOAe+Ql5oKjWaLsDTLq69r4yFn6f8bZF 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: "Yu, Fenghua" writes: > Hi, Alistair, >> Alistair Popple writes: >> Lorenzo Stoakes writes: >> > My concern is exposing something highly delicate _which accesses >> > remote mas a public API with implicit assumptions whose one and only >> > (core kernel) user treats with enormous caution. Even if this iommu >> > code were to use it correctly, we'd end up with an interface which could be >> subject to real risks which other drivers may misuse. >> >> Ok, although I think making this an iommu specific wrapper taking a PASID >> rather than mm_struct would make the API more specific and less likely to be >> misused as the mm_count/users lifetime issues could be dealt with inside the >> core IOMMU code. > > The iommu specific wrapper still needs to call access_remote_vm() which is > in generic mm. We cannot avoid to export access_remote_vm(), right? The wrapper still needs to call access_remote_vm(), but that doesn't imply access_remote_vm() needs to be exported. I think the logical place to put the wrapper would be in iommu-sva.c which isn't built as a module, so you would only have to EXPORT_SYMBOL_GPL the wrapper and not access_remote_vm(). > Are you saying the iommu specific wrapper doesn't need to the mm code? > > Thanks. > > -Fenghua