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 02E8FC4708E for ; Tue, 3 Jan 2023 20:13:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 521758E0002; Tue, 3 Jan 2023 15:13:25 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4D1D48E0001; Tue, 3 Jan 2023 15:13:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3992B8E0002; Tue, 3 Jan 2023 15:13:25 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 29ECA8E0001 for ; Tue, 3 Jan 2023 15:13:25 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id F1FAF80900 for ; Tue, 3 Jan 2023 20:13:24 +0000 (UTC) X-FDA: 80314587528.05.CAADA45 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by imf08.hostedemail.com (Postfix) with ESMTP id 3F9E016000F for ; Tue, 3 Jan 2023 20:13:22 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=LTfRcMjB; spf=pass (imf08.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.221.41 as permitted sender) smtp.mailfrom=lstoakes@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672776803; 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=HrFn/NjeOH4GIyZk6aOm/OSPrHoFrPqY9Q0KHXjSIOs=; b=4G17ByNoI2qYp41L9LmXkMqVoP5KFb17OmVKUtiN/GfBHTBFz8/Die/8GGcBTQFuC1Tq8j uHVNjhWDSaGO+6rdw+WlBxEYGEYiZOE+lNobo71ecyQunAB9r0K7rJqoiEp3rz8RbAkxNi /j5Gj7XW7uljCnNO93O9gN/tv47608g= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=LTfRcMjB; spf=pass (imf08.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.221.41 as permitted sender) smtp.mailfrom=lstoakes@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1672776803; a=rsa-sha256; cv=none; b=oaX+P01bxtObF8lwPfAOuwpZM0s0pBkVeRsJI8xcY+iqVVNNGj7upIboriTCj73ii8AbHI gFZr6YFmz8wlSsVgXw52AXJ4cah1WBht3jPCJpHsn6N/r+dZkFuJaj1GC4Xfbzoycw9C87 IZosnbv1w4ymVE/LfVFfCm7Pp5ZX+bA= Received: by mail-wr1-f41.google.com with SMTP id h16so30816349wrz.12 for ; Tue, 03 Jan 2023 12:13:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=HrFn/NjeOH4GIyZk6aOm/OSPrHoFrPqY9Q0KHXjSIOs=; b=LTfRcMjBMP6gIbOXLqQvzwc8zWwgA9YuJuIwNXoB5HiHpV96tGWIAqNIClRBpSRMY+ 8C3EIvXeyt+OEQxGPwgFpC0UlcIipArPEIw6In/aqew5rlgAKagWCgSzGiZm/2wDj0+m G/LYvwTJhObr4IMOBpavJ08oAB4LiICY0icBPgjAwLcprYckh2Zq73FmYJkFPFRQrQGd 9tuR1qECp6MqiTyew8fgZCK2wkg09Ip9/9cEqzMi4mLS7Nl7iRYDlXDPEq5iwOyCpUXy f9lyuc3ZhraRl7rpX9Jcc6g3r7DG+99KPwcZiJ/f9ZcAq8kA3vUknLz3fz/osj4Qg1UP 3B1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=HrFn/NjeOH4GIyZk6aOm/OSPrHoFrPqY9Q0KHXjSIOs=; b=bBztIrTYnghoitxoyH8p3GDbR4zs6C9+FIKv6JII86l5+jfTgDioJb5forQejiGgPF 1+JaDdC0u/ZFHUsOkjZ7QFHxAZe7ExL4UjFGu9HL2bAoTcujCKOl84UsPUdRnu3XV/5v JmwicSJDb5jmxfqTTAzahs5uEFaBzOjljf58Nz/xOc/BGlGJIq3ujfbbDjPtlKENnQwj ZZCKxv+sA5uCOWAwHCCBXX9eQtOlZLyooti6i0mqGwm3zA53SYMpC9sTBoolB+FrGvbG GdbwGTbLgp+bEHVBBtA6DPJZNVihi2cNpJhAQGLZ08EXNXhgLn3Tng/mPZEfMxSHWtI3 2v5A== X-Gm-Message-State: AFqh2kqsEFC6aCaHg02LcoSW5wZb88fKj9Tce67pRixAoEgU7dE7YrMV JC1CvffljF3eyxlgxTG7QJ8= X-Google-Smtp-Source: AMrXdXssXGWcR3yJzn67F8e02C9UPrjEFh09Ewfd8LoLuitb8R1jaHz081aPGwTe6+P/FZpD+hA59Q== X-Received: by 2002:a5d:6807:0:b0:29b:4c0a:a446 with SMTP id w7-20020a5d6807000000b0029b4c0aa446mr3912218wru.57.1672776801660; Tue, 03 Jan 2023 12:13:21 -0800 (PST) Received: from localhost (host81-157-153-247.range81-157.btcentralplus.com. [81.157.153.247]) by smtp.gmail.com with ESMTPSA id d11-20020adffd8b000000b00236545edc91sm31856742wrr.76.2023.01.03.12.13.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jan 2023 12:13:20 -0800 (PST) Date: Tue, 3 Jan 2023 20:13:20 +0000 From: Lorenzo Stoakes To: "Yu, Fenghua" Cc: Vinod Koul , "Jiang, Dave" , "dmaengine@vger.kernel.org" , "Zhu, Tony" , Andrew Morton , "linux-mm@kvack.org" , Christoph Hellwig Subject: Re: [PATCH 09/17] mm: export access_remote_vm() symbol Message-ID: References: <20230103163505.1569356-1-fenghua.yu@intel.com> <20230103163505.1569356-10-fenghua.yu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Stat-Signature: oik4p4ykynkft5xxh6sdhyierq984dh1 X-Rspam-User: X-Rspamd-Queue-Id: 3F9E016000F X-Rspamd-Server: rspam06 X-HE-Tag: 1672776802-428977 X-HE-Meta: U2FsdGVkX18Uyb5KFvWgK8z1v1fgxBQloGZw+x3YQ2DEF59c7Ta15+/xmv24hUq8/3Xu/MD/gEJKaEH1B9WTsC7QcK4UkcSWdPe3jXsVtmS/58xe+QSP4F/FBwmrCny8a3foZaQpyNCfnZqWwWD/Liu7OfDD8XLHmOpoNHLkXicL4Y7Eyb/H/897ng49baPp3+S8n7VTvr4NO7HNdoKK5YClujM4nnmwqUZkcS22qnvvYGvF1y2P4vmiYDBKTyygI6AJBcTbKSXc67v6NbGHueCx1VTRV2uAez9sQ8jVJ7gaNU6Fb9tmCqIFUX/DHUDTqxSBFMsZ1uIkR3Mqt/E41j2GQuwkVx2sVXnPC5AYxtlLZEv1GYQe92X/gdq1lxCj1Qyefk9lwNej3YwI1mi/dtsggVIQ9lLZLt4xC6dxdX/4drg5qP7zR9RMFtZVmFPS0nhI5LeYsGZBT9JcpveiInI82T3BbGgAu6tq2UYMBMZXDgjnbGSLmNBOfj0vJqEn9ad3+HQNkzMBeW7j9ZUcjav2R9V/iSwQvhT73CW5vyM/ydkf1pkyqGSlXssBwbmO2HAS3KRkbdM2dPA3M8HRagrSJmHJy+GQ+EZRuXkQNwoMe9e3LOfAb8Z8HSrhkNZFPYgHNcjfLId5QeSnxYuCeeq6joH2wDzmJpUBx2z70Y3nXt4MKboUKWxF1wuxG53zdQQvdFRmPDMkcsXG/s6vulSuCGaRVpY/pr6VWoPh2TDmNO9Y1xQ191uPBt+79q/oBlDGElIs7yP0xClJRvDLj+Us2tsg57bii86rpSHBdqJXItCD7bUWxOFx67pthjyAL8Mkl8ev2L0WoovpZvGeFbz+U6y52RzksgYvgJ5c6W1jznjB2Kgt2VsA5Tqxt098YrW1JFGQOYO0wY4BQW+f0F+ibKkF4l4s/7E+m1DbRZD1Xz5Q9yqegafNGzOl0ImE6j0wjfp/kP7ER419tJI lFfnhINF KWoteOCb7fiet+1kCiNOSydeVQ+rOVnzmJkRn2ScFxf+d7iaRuCkvmk0vn5G5xJDdiW1l79XYptX/S3jQKWg5tBlT5qK65CMk6QTp5h0Pp8y5pIQEtBN81egJqJPx8W0MJan9xyiATdq+2YIwZz+LljLNDw6aC89JgIJ/4070SoT6Udc= X-Bogosity: Ham, tests=bogofilter, spamicity=0.159684, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, Jan 03, 2023 at 07:20:11PM +0000, Yu, Fenghua wrote: > Hi, Lorenzo, > Hey Fenghua :) > access_remote_vm(mm) directly call __access_remote_vm(mm). > access_process_vm(tsk) calls mm=get_task_mm() then __access_remote_vm(mm). > > So instead of access_remote_vm(mm), it's access_process_vm(tsk) that holds > a reference count on the mm, right? Indeed! > > > > > > > Is there a reason you can't use access_process_vm() which is exported > > > and additionally handles the refrencing? > > IDXD interrupt handler starts a work which needs to access remote vm. > The remote mm is found by PASID which is saved in device event log. > > In the work, it's hard to get the remote mm from a task because mm->owner could be NULL > but the mm is still existing. That makes sense, however I do feel nervous about exporting something that that relies on this reference. The issue is ensuring that the mm can't be taken from underneath you, the only user of access_remote_vm(), procfs, does a careful dance using get_task_mm() and mm_access() to ensure this can't happen, if _sometimes_ the remote mm might have an owner and _sometimes_ not it feels like any exported function needs to be equally careful? I definitely don't feel as if simply exporting this is a safe option, and you would in that case need a new function that handles different scenarios of mm ownership/not. I may be missing something here and I will wait for others to chime in but I think we would definitely need something more than simply exporting this.