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 7A371C47422 for ; Mon, 29 Jan 2024 07:53:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EF11B6B0072; Mon, 29 Jan 2024 02:53:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EA1A36B0075; Mon, 29 Jan 2024 02:53:27 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D687F6B0078; Mon, 29 Jan 2024 02:53:27 -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 C5FA86B0072 for ; Mon, 29 Jan 2024 02:53:27 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 9563E1404F6 for ; Mon, 29 Jan 2024 07:53:27 +0000 (UTC) X-FDA: 81731583654.14.47D7241 Received: from out-188.mta0.migadu.com (out-188.mta0.migadu.com [91.218.175.188]) by imf05.hostedemail.com (Postfix) with ESMTP id E3ED510000F for ; Mon, 29 Jan 2024 07:53:24 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=u2n9Trm7; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf05.hostedemail.com: domain of yajun.deng@linux.dev designates 91.218.175.188 as permitted sender) smtp.mailfrom=yajun.deng@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706514805; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=I5LyXm335j6PMvtoknG0DUGXbxAqHQBfeRBYbfkRtTU=; b=RnlCmNtPws/phVSmrp1tUk86Qs2vxPb5IXKHQC365NGX51FLMAuEQySYbYI60yGy4TpDiZ UI43IcPPlk9pGQSzmkFq8CTwzxFq+snho71CENgAEgOKabzL4etkTy/S/pGLc3SvkIAGKW dU+QwLYFDX3WOgYxJ0cilVNASn/t/+A= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=u2n9Trm7; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf05.hostedemail.com: domain of yajun.deng@linux.dev designates 91.218.175.188 as permitted sender) smtp.mailfrom=yajun.deng@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706514805; a=rsa-sha256; cv=none; b=rtIjKX91ttCaBVLSmqcmAEJ6+B8KqI8a88mQcFuLlcAsZF6G10cJsMTkP/Zo0mbACC1Ja7 sN5ZODQ95gOE/lmc7KJ0HXx6axp+vruqNPVjDbN1uYiJckhkrzkfgFX4S9GKa0AtYbIQ4w keBz5cLdtiP59bwAnKpK9Nc3pW4bsaw= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1706514802; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=I5LyXm335j6PMvtoknG0DUGXbxAqHQBfeRBYbfkRtTU=; b=u2n9Trm7n2i4J+PRhNgk8iG8hI5XnpXnhkuFrieEV9sNBZejxTSo82JR4PRVtmGiqlPpcW Qj0mFqBZQ8QtaLyOZWaebB42+wu8VdcG2P69tzf1AVuDTsIxAD3KBwYTa2ZYpjPKPaHReN P164ETp3VFij3UD+/bPw0MjgY5ZKAJI= From: Yajun Deng To: akpm@linux-foundation.org Cc: Liam.Howlett@Oracle.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Yajun Deng Subject: [PATCH] mm/mmap: remove the mm parameter in vma_complete() Date: Mon, 29 Jan 2024 15:53:05 +0800 Message-Id: <20240129075305.3512138-1-yajun.deng@linux.dev> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: E3ED510000F X-Stat-Signature: 87q93crffqjrtrurfyzowdssmmym7ofm X-HE-Tag: 1706514804-512640 X-HE-Meta: U2FsdGVkX18igY9awSVTzT8dvuW8OAbSwDv/d+t/OVO4UDaQa1NhAeiq77Zj1aYdUih6yzryhUohjN1zMOn/UGgqtVUmaSJ144dgnXsmFhEzzUEZBsVp8i0qpLBG601G1k3IL/t9msdQ/36+ptYAbczbYGw7QP2O6j35dsaC6uKsTlmSngHW5j/4cVyR0d6VqMl3xSVWozxQ+zEGNtZdBVHteXlwVq52z35MbKrw/BfjCCU77G//ffH+vH6g/uESHe4nidEmn2d0sh+MEB2QVE5D/hHh5SDa+jsc0k8PLhF3V60nMXfEChfUS0+ww7Zvtm6ulSfmW3Uxoe5POpkXt2nidl+Qi8+sf7N8YJAPHiUrL3y3KYftwuALLNvS3HGFesy2zwaL+yQ8kBrHf4o8xXGLMgzhQjhEoXDJl8AQogH8YBollwXdaL95uyJmGVaAYwDuJz7zDEEDFN/sx/h0LC1lZCH7FBCweaSkzlRMtGj2Q4X5JjonD7YTSsXHeEq9tIk4NE7indhgc4pfpYuMPbD+dLkYnVdqhZFr4tBguEZbOA1xDr/quOsaY1PYtYLzH7c9a3w08GhX80jfOX52HJLe2qnT8bgabwZMNiiWDbE/VGH4N+WWY6W550qTnshiK4t9rdPOnVgrnyZ3RJt80ubS45BIqpa9YLgXIsWOjw4XHwm83+90u5hvq3mT3/R/3hyr/u5e8b3PSDdrpfJgbw2e5Rm7MW3JuvUivKqVPu76MtWH8fyQoAforD0mkHjmlWFeVN6+96106KASx2YfMxN8SvYBKTFK6XxpwXgf6GyD0g3hyVrtKSF39jC+JiXC6/rXpeMM1WawbVC6ZKyeW5Tcs8WZBNMuABuQk2vphsbOElIiia3eC7E3uATB/cZB9eqBVJHLTktqjViKabOZU2/F2Wwc3gcZN1U4UuG52VOnQwoSuurJY1BcVryE0orjxV6PkD0f5PvjE46dUZ/ 0APbhyMX aDUGbf2MSEXOtdEqNaPzTthr3rptddHe1Le09lCuLI98zKd1gOw3sHTbHewgLNPAdlpdm2Gv/5mttRL3VaQjxKwM0Xxs+yIB+FaAfo/1lo2St/hgeqX2Ixf0IqX1JOCIs+JZF X-Bogosity: Ham, tests=bogofilter, spamicity=0.000040, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: There are vma_merge() and do_brk_flags() pass mm to vma_complete(), others would pass the vma->vm_mm. The following explains that the mm is the vma->vm_mm in vma_merge() and do_brk_flags(). All vma will point to the same mm struct if the vma_merge() is successful. So the mm and the vma->mm are the same. vm_brk_flags() and brk syscall will initialize vmi with current->mm, so the vma->vm_mm and the current->mm are the same if vma exists in do_brk_flags(). Remove the mm parameter in vma_complete() and get mm from the vma in vp. Signed-off-by: Yajun Deng --- mm/mmap.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index e97b9144c61a..9b968d1edf55 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -509,11 +509,11 @@ static inline void vma_prepare(struct vma_prepare *vp) * * @vp: The vma_prepare struct * @vmi: The vma iterator - * @mm: The mm_struct */ -static inline void vma_complete(struct vma_prepare *vp, - struct vma_iterator *vmi, struct mm_struct *mm) +static inline void vma_complete(struct vma_prepare *vp, struct vma_iterator *vmi) { + struct mm_struct *mm = vp->vma->vm_mm; + if (vp->file) { if (vp->adj_next) vma_interval_tree_insert(vp->adj_next, @@ -666,7 +666,7 @@ int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, vma_set_range(vma, start, end, pgoff); vma_iter_store(vmi, vma); - vma_complete(&vp, vmi, vma->vm_mm); + vma_complete(&vp, vmi); return 0; nomem: @@ -707,7 +707,7 @@ int vma_shrink(struct vma_iterator *vmi, struct vm_area_struct *vma, vma_iter_clear(vmi); vma_set_range(vma, start, end, pgoff); - vma_complete(&vp, vmi, vma->vm_mm); + vma_complete(&vp, vmi); return 0; } @@ -1030,7 +1030,7 @@ static struct vm_area_struct } } - vma_complete(&vp, vmi, mm); + vma_complete(&vp, vmi); khugepaged_enter_vma(res, vm_flags); return res; @@ -2377,7 +2377,7 @@ static int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, } /* vma_complete stores the new vma */ - vma_complete(&vp, vmi, vma->vm_mm); + vma_complete(&vp, vmi); /* Success. */ if (new_below) @@ -3145,7 +3145,7 @@ static int do_brk_flags(struct vma_iterator *vmi, struct vm_area_struct *vma, vm_flags_set(vma, VM_SOFTDIRTY); vma_iter_store(vmi, vma); - vma_complete(&vp, vmi, mm); + vma_complete(&vp, vmi); khugepaged_enter_vma(vma, flags); goto out; } -- 2.25.1