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 BE1A7CFB440 for ; Mon, 7 Oct 2024 08:44:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3A1BD6B00F0; Mon, 7 Oct 2024 04:44:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 351756B00F1; Mon, 7 Oct 2024 04:44:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1F3CE6B00F2; Mon, 7 Oct 2024 04:44:21 -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 F31F96B00F0 for ; Mon, 7 Oct 2024 04:44:20 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 67E0C813D6 for ; Mon, 7 Oct 2024 08:44:20 +0000 (UTC) X-FDA: 82646169480.14.239B5D5 Received: from fhigh-a7-smtp.messagingengine.com (fhigh-a7-smtp.messagingengine.com [103.168.172.158]) by imf30.hostedemail.com (Postfix) with ESMTP id 849C88000B for ; Mon, 7 Oct 2024 08:44:18 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=shutemov.name header.s=fm3 header.b="x ZcbLOX"; dkim=pass header.d=messagingengine.com header.s=fm2 header.b=fO2LJhza; spf=pass (imf30.hostedemail.com: domain of kirill@shutemov.name designates 103.168.172.158 as permitted sender) smtp.mailfrom=kirill@shutemov.name; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728290481; 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=pReAlbAp+RVZKMZPw8OzBm+oVocBKEzeB7uhsl5SfPU=; b=xP1tsXiPXq9w8CTyINHEOUM/vweUJXGeSe3+ApPIfvpbZl+Ix+QnKwxcA1JA6MxL6zGjgv xCualHLcKxNY9QNanAs7ePC1PREF2fSEBQaVi3Y48PV/fKLSUajS6wQKpoWPukOjO9CPyI tVk4wYsLdj/ldLqZgH5Lhrhxd8ab/lY= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=shutemov.name header.s=fm3 header.b="x ZcbLOX"; dkim=pass header.d=messagingengine.com header.s=fm2 header.b=fO2LJhza; spf=pass (imf30.hostedemail.com: domain of kirill@shutemov.name designates 103.168.172.158 as permitted sender) smtp.mailfrom=kirill@shutemov.name; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728290481; a=rsa-sha256; cv=none; b=M8PJYqpwIseT00gCk9wImt26Z4c0klxmd0c/1g5P79a8vqu+9izwU4b/gtnmmTUVo3TVNt jlknxIDRHhC57BsMC0AMO1mFhpG67txvexRLB6nkCUdsDnqcZNzvZfgLUngM7SUaR0CArP 03r0jV2n+uATAOg6ht7oNIEdVgTiwKc= Received: from phl-compute-12.internal (phl-compute-12.phl.internal [10.202.2.52]) by mailfhigh.phl.internal (Postfix) with ESMTP id D45DD1140239; Mon, 7 Oct 2024 04:44:17 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-12.internal (MEProxy); Mon, 07 Oct 2024 04:44:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=shutemov.name; 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=1728290657; x= 1728377057; bh=pReAlbAp+RVZKMZPw8OzBm+oVocBKEzeB7uhsl5SfPU=; b=x ZcbLOXs6H3dMG3I/3jO2oYLp09QiGNqLxgOz76DNRk3LAZWaIXPq7pcfdqeJUygS KIYlN4Dk2FC/SH3NhnrRoTO77YdwhTTLw55LIVzJIIk7/hoI/+62GI1yy3s2otIY spvBpo1i/gd5H/Vxaqi2FXYPc0zxO9mxFSnuqqOTSqmLwNF8TAbmBwWk1lUvumal X1T2ffkW2PsTHd625RbLw9JdIReMmqaGUbAJjqKhgShaKRLrRt/EtuT35s0LSQQv cd/XmJs9Zqxqs96L54Zf8+VhhwVRdSvCZyY9z9nse3oUjvU4WxAv/v606JGvo55C BmUe7Dzr/r7PsbElEvgTA== 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= fm2; t=1728290657; x=1728377057; bh=pReAlbAp+RVZKMZPw8OzBm+oVocB KEzeB7uhsl5SfPU=; b=fO2LJhzabR8jo7pHX9s6UkIFUtNI1MTFGfJ3MJnGXUW8 nSgFoyQS4O/EqGHlfB7TLuV9gGUUcxSA/u7npit2roOQJxhZR3mPpZTvTmWM/bjs xwf1uQelPbCKodvbTe4kdgx1vKlU9s2LWVEnWGzq66kgF/1eCwchMy4KnEwUO3ey sWwrQKIUiusG4xhu5AbupplmQE5/kEGuOMJEctMnrLI6NOxn67aJuHKEK7rJzEzL 1Bg5ThmgLi89drrnQn3NBeilBT3omzNWDmfcZYQJ/y/ceCEz75PN5p1FKcX/u8t7 nYNThmEDeJLsvUBNjQ9VrJZpZ7PEiFJnc5lJNwD+TA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvddvledgtdejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesthdtsfdttddtvden ucfhrhhomhepfdfmihhrihhllhcutedrucfuhhhuthgvmhhovhdfuceokhhirhhilhhlse hshhhuthgvmhhovhdrnhgrmhgvqeenucggtffrrghtthgvrhhnpeffvdevueetudfhhfff veelhfetfeevveekleevjeduudevvdduvdelteduvefhkeenucevlhhushhtvghrufhiii gvpedunecurfgrrhgrmhepmhgrihhlfhhrohhmpehkihhrihhllhesshhhuhhtvghmohhv rdhnrghmvgdpnhgspghrtghpthhtohepvdegpdhmohguvgepshhmthhpohhuthdprhgtph htthhopegrnhhthhhonhihrdihiihnrghgrgesohhrrggtlhgvrdgtohhmpdhrtghpthht oheprghkphhmsehlihhnuhigqdhfohhunhgurghtihhonhdrohhrghdprhgtphhtthhope ifihhllhihsehinhhfrhgruggvrggurdhorhhgpdhrtghpthhtohepmhgrrhhkhhgvmhhm sehgohhoghhlvghmrghilhdrtghomhdprhgtphhtthhopehvihhrohesiigvnhhivhdrlh hinhhugidrohhrghdruhhkpdhrtghpthhtohepuggrvhhiugesrhgvughhrghtrdgtohhm pdhrtghpthhtohepkhhhrghlihgusehkvghrnhgvlhdrohhrghdprhgtphhtthhopegrnh gurhgvhihknhhvlhesghhmrghilhdrtghomhdprhgtphhtthhopegurghvvgdrhhgrnhhs vghnsehinhhtvghlrdgtohhm X-ME-Proxy: Feedback-ID: ie3994620:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 7 Oct 2024 04:44:10 -0400 (EDT) Date: Mon, 7 Oct 2024 11:44:05 +0300 From: "Kirill A. Shutemov" To: Anthony Yznaga Cc: akpm@linux-foundation.org, willy@infradead.org, markhemm@googlemail.com, viro@zeniv.linux.org.uk, david@redhat.com, khalid@kernel.org, andreyknvl@gmail.com, dave.hansen@intel.com, luto@kernel.org, brauner@kernel.org, arnd@arndb.de, ebiederm@xmission.com, catalin.marinas@arm.com, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, mhiramat@kernel.org, rostedt@goodmis.org, vasily.averin@linux.dev, xhao@linux.alibaba.com, pcc@google.com, neilb@suse.de, maz@kernel.org Subject: Re: [RFC PATCH v3 09/10] mm: create __do_mmap() to take an mm_struct * arg Message-ID: References: <20240903232241.43995-1-anthony.yznaga@oracle.com> <20240903232241.43995-10-anthony.yznaga@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240903232241.43995-10-anthony.yznaga@oracle.com> X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 849C88000B X-Stat-Signature: 85oy4jsix5apwkqbpwqdepbiz5wcx1e1 X-Rspam-User: X-HE-Tag: 1728290658-269147 X-HE-Meta: U2FsdGVkX18vcViI+SVvTCGTYCTRfMdYCCAZztw2y5yHpe7rXcGx1wjRzwoz1VUNg/fviX4Adg0vxGy10shoLUcgRLUFjWbQHCiMK5vkiMep03ajb5I9YSRPMqBJiwD1g9OYj2s7UVASYU5RokeZWPSqoalLhsXYZzsvmqab1/HAf7Qokwr25PlDjg1TA34kXvrv31yNaMoqR6cDfbRbQCwICyDFY5SD2DZM8h25KXmlFhovwoimd6wdm5PZVuhj5NYuukELxgYwscAt98WD5UGhthZ3uSnkvgM6MVsEOoj3Hf2tBfTS/tbzXEImxE4KhcygWvu0Nw4fuJfLkofme27UzhwizCSxQcK4/AtQOskQnWljOFGpQW2CUJV8oR6JAZRG62L2UL8PYHa+z24ia+DCISf1/Xfu2e1Ir1GKgSluu/M9DByUA7biH6n4WB0zcODayzJTOHNOAVx9cEW+Xuh9gyqT+MXq5j3+rrPL8Mz181Csu8VDdDVAz0YbKAWe9cPLRvaM2sgV+cRoozkSnmW1JNjDGTHDMpJonPqH9b7QxZiUvC5fcKuyPW3FYjgUnXJe1HTN/aButpp4d3zx2Yv34JoDRvTLRODljjyr488Tp3FIWhTGlQLo2R9k6rrtl74y/y1HtsZO+Mfa9Iu+3qeeCeoTOrR3NFUl9UFEhSl9Kbk0DqGV3UbrSqNLq3vsImV9PXu125fLnJToMm77M9Wae+HIL4DsTETy1kvUtm0+m/S/5u1oKxUUwbedXKv8hXGxmmkSUo2BCcAzbrtgWIpu8/ligcmsh5bLPGuSrfr554yIJw485Qz0M1dEUM01e5I7tB4MbIFZ7/3NX3eAbxk1Wzfqd9BYuK89TVOClbjitniYU9CJO9+Efp3AtCSpTtOuhnBs0BRTEwqQG7QW/PZPA+9z8F+iiqx0oqiKIdyL30LxkwsOMNdjXCMKBjSos6ortntyETmuf9G0s2f IfHdn1eC xYQQL4RozOzH5dqecdafr9cFw6b1Lt7VD1VX6ezz0eR+V2ANhvi/yx/eu5Hpk91xKXI6fSckLAWK8DV/i2oruxhOCrkWEVJHoiMy47xVHrNVCS7Bul0YYqJL+5+f0ooriSS6ssp/hs6IJkpkos+s6lQQEfG05Esg3/I8i1L5OmmfOooACmcngODPISBf5EzSLuWgnTD3WszC+Rz2VzdaDOvae6gHG1qiY5DV3iGeswqAetTjuxpmd1I16zM+F6dlcV3sTAgFeXZ1/YSweb5aXjfE2ByAN3oq3YFE0rbqBxx8mRHc5i19hXnaLUPJHirWN88/RAwLPVnGwFjlNYVU+Xp+itYegbIOxTG9sAwcaveRq02p12ti+Enb5k7woNevHW0nI6TSxo8g05dEgn8WViWeW0j+5GHonY//V4AO2y1WT2sbBtw3kVBjj+TNdVg6VfTsC 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, Sep 03, 2024 at 04:22:40PM -0700, Anthony Yznaga wrote: > In preparation for mapping objects into an mshare region, create > __do_mmap() to allow mapping into a specified mm. There are no > functional changes otherwise. > > Signed-off-by: Anthony Yznaga > --- > include/linux/mm.h | 18 +++++++++++++++++- > mm/mmap.c | 12 +++++------- > 2 files changed, 22 insertions(+), 8 deletions(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 3aa0b3322284..a9afbda73cb0 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -3409,11 +3409,27 @@ get_unmapped_area(struct file *file, unsigned long addr, unsigned long len, > > extern unsigned long mmap_region(struct file *file, unsigned long addr, > unsigned long len, vm_flags_t vm_flags, unsigned long pgoff, > - struct list_head *uf); > + struct list_head *uf, struct mm_struct *mm); > +#ifdef CONFIG_MMU > +extern unsigned long __do_mmap(struct file *file, unsigned long addr, > + unsigned long len, unsigned long prot, unsigned long flags, > + vm_flags_t vm_flags, unsigned long pgoff, unsigned long *populate, > + struct list_head *uf, struct mm_struct *mm); > +static inline unsigned long do_mmap(struct file *file, unsigned long addr, > + unsigned long len, unsigned long prot, unsigned long flags, > + vm_flags_t vm_flags, unsigned long pgoff, unsigned long *populate, > + struct list_head *uf) > +{ > + return __do_mmap(file, addr, len, prot, flags, vm_flags, pgoff, > + populate, uf, current->mm); > +} > +#else > extern unsigned long do_mmap(struct file *file, unsigned long addr, > unsigned long len, unsigned long prot, unsigned long flags, > vm_flags_t vm_flags, unsigned long pgoff, unsigned long *populate, > struct list_head *uf); > +#endif > + > extern int do_vmi_munmap(struct vma_iterator *vmi, struct mm_struct *mm, > unsigned long start, size_t len, struct list_head *uf, > bool unlock); > diff --git a/mm/mmap.c b/mm/mmap.c > index d0dfc85b209b..4112f18e7302 100644 > --- a/mm/mmap.c > +++ b/mm/mmap.c > @@ -1250,15 +1250,14 @@ static inline bool file_mmap_ok(struct file *file, struct inode *inode, > } > > /* > - * The caller must write-lock current->mm->mmap_lock. > + * The caller must write-lock mm->mmap_lock. > */ > -unsigned long do_mmap(struct file *file, unsigned long addr, > +unsigned long __do_mmap(struct file *file, unsigned long addr, > unsigned long len, unsigned long prot, > unsigned long flags, vm_flags_t vm_flags, > unsigned long pgoff, unsigned long *populate, > - struct list_head *uf) > + struct list_head *uf, struct mm_struct *mm) Argument list getting too long. At some point we need to have a struct to pass them around. > { > - struct mm_struct *mm = current->mm; > int pkey = 0; > > *populate = 0; > @@ -1465,7 +1464,7 @@ unsigned long do_mmap(struct file *file, unsigned long addr, > vm_flags |= VM_NORESERVE; > } > > - addr = mmap_region(file, addr, len, vm_flags, pgoff, uf); > + addr = mmap_region(file, addr, len, vm_flags, pgoff, uf, mm); > if (!IS_ERR_VALUE(addr) && > ((vm_flags & VM_LOCKED) || > (flags & (MAP_POPULATE | MAP_NONBLOCK)) == MAP_POPULATE)) > @@ -2848,9 +2847,8 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len, > > unsigned long mmap_region(struct file *file, unsigned long addr, > unsigned long len, vm_flags_t vm_flags, unsigned long pgoff, > - struct list_head *uf) > + struct list_head *uf, struct mm_struct *mm) > { > - struct mm_struct *mm = current->mm; > struct vm_area_struct *vma = NULL; > struct vm_area_struct *next, *prev, *merge; > pgoff_t pglen = len >> PAGE_SHIFT; > -- > 2.43.5 > -- Kiryl Shutsemau / Kirill A. Shutemov