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 9DBFDC369AB for ; Fri, 25 Apr 2025 03:15:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 11B316B0006; Thu, 24 Apr 2025 23:15:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0A1C96B0007; Thu, 24 Apr 2025 23:15:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EAD5F6B0008; Thu, 24 Apr 2025 23:15:32 -0400 (EDT) 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 CC57E6B0006 for ; Thu, 24 Apr 2025 23:15:32 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id EA5F0806C2 for ; Fri, 25 Apr 2025 03:15:32 +0000 (UTC) X-FDA: 83371100904.11.487768A Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf26.hostedemail.com (Postfix) with ESMTP id 4FB21140002 for ; Fri, 25 Apr 2025 03:15:31 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="VBo/6pkD"; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf26.hostedemail.com: domain of kees@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=kees@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745550931; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=67v05unhUxhoN5fyX5jhXPP6erEJnwkLFJKTULzVWtg=; b=FFYkl0SztU2OuDQqcXo3t9qchE0wqjidPeRHzzoGVdnU0jYEnmgxiEyQmLYHrOI+AhSdTp kPzv/wwjDw0xwp2qj74zf/8xmVjo11QYj6U3ByjgnjOWbwFe6g9qYK7U6etcawCBWhxxG7 c4RpPnhw7W2Y1/ckOWaA5P2NfqRhgcQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745550931; a=rsa-sha256; cv=none; b=ahzN2I7XTSTe5teKZqOZW7FpVaIhJ2cgMskSnYQ75rGM9Hdaa1P5HfRvvzjp/v+VCsujQR /JLfhxZeH2OjWmLTGvdsxgRcZkUJDbL/Uu7ztYgNfdLBX/ET1IahJfEsIgZ+Li7OFrNckO kbxLbGdwDd7vGEAgW46ZIhFs/nFbuv8= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="VBo/6pkD"; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf26.hostedemail.com: domain of kees@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=kees@kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 40DFB68464; Fri, 25 Apr 2025 03:15:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0D949C4CEE3; Fri, 25 Apr 2025 03:15:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1745550930; bh=lf5tYFHlmIW306cV5CFtXC6/2U+4s88U3LbYKiT5a0k=; h=Date:From:To:CC:Subject:In-Reply-To:References:From; b=VBo/6pkDA2LAogTSBoBn3KFLL/xy9d+85Hj3iXb0gREbs6wSKM/zRz6ITogqG/66W WUwUUgSlFVxQzsF0Nj7ceWd0CpsxKHU7nG6yftMZEr72APlPEwKz+3kYOJkxFrFLhm k49uDAViNnQo1SkFaY8uWfSutlCK3pfvEUywSgsswO9PTaFP/zqzxe2F2vk603LVrX k5OGlsEy3cKpcAaoS0BrFnmjfBkeyL6QO+vPBrsAaukPOZldiqRelNPM08hQUPJiry MOmoyR1FWlUWjZOHPtx6q2Z4CMrQv+C/a3O+Hqt0bw+D8fM/9hZ3FrQIL7Ma3KzfX+ E7P3ToTYd69sg== Date: Thu, 24 Apr 2025 20:15:26 -0700 From: Kees Cook To: Lorenzo Stoakes , Andrew Morton CC: "Liam R . Howlett" , Vlastimil Babka , Jann Horn , Pedro Falcato , David Hildenbrand , Alexander Viro , Christian Brauner , Jan Kara , Suren Baghdasaryan , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: =?US-ASCII?Q?Re=3A_=5BPATCH_2/4=5D_mm=3A_perform_VMA_all?= =?US-ASCII?Q?ocation=2C_freeing=2C_duplication_in_mm?= User-Agent: K-9 Mail for Android In-Reply-To: <0f848d59f3eea3dd0c0cdc3920644222c40cffe6.1745528282.git.lorenzo.stoakes@oracle.com> References: <0f848d59f3eea3dd0c0cdc3920644222c40cffe6.1745528282.git.lorenzo.stoakes@oracle.com> Message-ID: <51903B43-2BFC-4BA6-9D74-63F79CF890B7@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 4FB21140002 X-Rspam-User: X-Stat-Signature: jr3tyac3j8sc5yjnsuwe1zhwsj9m8j34 X-HE-Tag: 1745550931-73580 X-HE-Meta: U2FsdGVkX1+6FB6FD3K8iGsfsK7twuY65m4KcxuUbxQuff4cNCd4jZh0l3JhUmkdRBltGCJWexibwCNIYRqIHAYh2DlHeU5dUcfE4cq2+2ath4swkpS78rlrp2catBdjxqmenwjjzUZTQeT6WZWTgnN9OrCKOVlO+i3mbam1IK9yQp53RruGROx9gjWQKiROav/e1+dpyztOP0jUkzXH+zRK/Xz1m3pXQzsuVYRK6NOVXe5gES0tjjd5wi2aIyAeWYbgZCkwOnOiMQ3Jv1bLqWzM9G6b+8gSc2Z58cmh7DEpVAq5iR6BUzSG+DBBz7/rwnmsZnWXq9rRVX8ZR6CQ41Y75/49rEy+DTAIcZ2hZD54y9OI1NzATyDM52h7m8782ImnA4IjF+rSnUoHTtpAXq+6ahzHZOdZVqsRHiCQy5Y5nD/fsrl2D1lLIz/xZaj61fembo6s0a5uemW6wWomE5akocEG1VABesqeDebk6nXrJFbDAYI2+E1fOX6xa4c8HEStgr8O3wDgwslxP9ElmDzWDspolsE3gCqkK3rM/qRQ5KAIqON8zJiCUaXXbO6J03UgrTDJVmMYshCUCu8O18/8YJo8xOCQWUx0AZTuRwDWS7ay7L1I/8MLJ5cpcTe3Tc2JJAEj8QUW3pwRc5qXNL+Yt5Zqodz2zDPHObOvDiWCx3OKITp/+N3qFZpHwQMupgnVXNLM9Ic47pmO2U8GA/pVkxbbfGHrB7Ra7KrIxiyvFgWuIwUET001Hd+l971MJOd6ix4miysUr07Tk1LEd8qVFJpQW/lZbyk1Or9v7qdJnYNZhuuorXatF0k/PepEO6MwP0xXBLw4f7y7giZHvQfJdet+S6iMfpBbUdFF/CwjtcDrjYwfSvDRr9tHFDDtaH+Q+cFemnLiNxc0ErNB5fJWL/yLtl4egrGtvlHyTnlS7aqI5WwPHaN/dGJ5XGtEYeCYh35+uvkigeEm5lc 2DgYaLjb OouEsIYZ3tvIqN6OWO2rL61DNn6SZvUpZzPHhl2UUmUIvGz1nmK5EsjR+6XM5vsBmhadRt2ZXqMBnwN8WaCNTe96d5/c1xsb9iIPYGEC9NiGarB0mezCahAMgySXMwYFfGVwBlTnsI10rk37VxkUoHnK4OXhYPJpFlMTRkYP1I2EkJa5GunfBlOefCTg116SliD47PTCv1M2bz2PZ8TKm/e65OqXPXSqdbXo20ShOTcTofg4iB9ekI7V36WS49aCbSsam4UYHjEqRjxz0XGHQjll31pkZooExuAvrxATjUz65pTw= 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 April 24, 2025 2:15:27 PM PDT, Lorenzo Stoakes wrote: >+static void vm_area_init_from(const struct vm_area_struct *src, >+ struct vm_area_struct *dest) >+{ >+ dest->vm_mm =3D src->vm_mm; >+ dest->vm_ops =3D src->vm_ops; >+ dest->vm_start =3D src->vm_start; >+ dest->vm_end =3D src->vm_end; >+ dest->anon_vma =3D src->anon_vma; >+ dest->vm_pgoff =3D src->vm_pgoff; >+ dest->vm_file =3D src->vm_file; >+ dest->vm_private_data =3D src->vm_private_data; >+ vm_flags_init(dest, src->vm_flags); >+ memcpy(&dest->vm_page_prot, &src->vm_page_prot, >+ sizeof(dest->vm_page_prot)); >+ /* >+ * src->shared=2Erb may be modified concurrently when called from >+ * dup_mmap(), but the clone will reinitialize it=2E >+ */ >+ data_race(memcpy(&dest->shared, &src->shared, sizeof(dest->shared))); >+ memcpy(&dest->vm_userfaultfd_ctx, &src->vm_userfaultfd_ctx, >+ sizeof(dest->vm_userfaultfd_ctx)); >+#ifdef CONFIG_ANON_VMA_NAME >+ dest->anon_name =3D src->anon_name; >+#endif >+#ifdef CONFIG_SWAP >+ memcpy(&dest->swap_readahead_info, &src->swap_readahead_info, >+ sizeof(dest->swap_readahead_info)); >+#endif >+#ifdef CONFIG_NUMA >+ dest->vm_policy =3D src->vm_policy; >+#endif >+} I know you're doing a big cut/paste here, but why in the world is this fun= ction written this way? Why not just: *dest =3D *src; And then do any one-off cleanups? --=20 Kees Cook