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 8337EC369CB for ; Tue, 29 Apr 2025 07:28:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6BFB56B0007; Tue, 29 Apr 2025 03:28:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 66F6F6B0008; Tue, 29 Apr 2025 03:28:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 535E86B000A; Tue, 29 Apr 2025 03:28:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 34F596B0007 for ; Tue, 29 Apr 2025 03:28:09 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id F423C1411E0 for ; Tue, 29 Apr 2025 07:28:09 +0000 (UTC) X-FDA: 83386252740.30.9E8A6B2 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf14.hostedemail.com (Postfix) with ESMTP id 86A5210000C for ; Tue, 29 Apr 2025 07:28:07 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=HhbgTS9i; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=zLGjcyQa; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=SpArUjJh; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b="e/Q+QaS5"; spf=pass (imf14.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745911688; 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=qn7RezL+ZodhNPZz0XE4F8zD560Td22qMXGm4ahQV1Y=; b=Q2STfM9kDSEOvbcLpbRS2vuxpiYsNchjFovgm2rHJyisTYG/JqDunlRbBs0k1R/KmcS/E1 sv8VFyc6GiD8aoSV5nXm8fAsmykXu5FpvNK7ew0i/a1G/XzlUh6+qA8Pw7bDJi60+uKcHA 3h9yBST6EY9pDOUskQCO58RCrvBMyNw= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=HhbgTS9i; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=zLGjcyQa; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=SpArUjJh; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b="e/Q+QaS5"; spf=pass (imf14.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745911688; a=rsa-sha256; cv=none; b=oXh9OyTIiFFb8/yhxv5AYsrWKldEBUiiH+u+JlcelEbCvpC5POuPwK3NT2wvuuhM6hhjCj i0hSUA7NjCNhPsXlAYPxOjk8enmAwBEGkU6OTMEBXM6b15Jhp4pOzaGQM7T8rZ3+HErmml shXPh2lfBa7r32TsYC2NN2nJXDHuUSg= Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id F1ACA21C30; Tue, 29 Apr 2025 07:28:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1745911686; h=from:from:reply-to: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; bh=qn7RezL+ZodhNPZz0XE4F8zD560Td22qMXGm4ahQV1Y=; b=HhbgTS9iZ/ZveR6EsfJ+0v8KW9pesTHOmVlkWB3Mn9wNR+Plw9FsfveuOY2h+Pf/0V2ZTZ zJXHXkw3avsUOeyXE4nOiNisAnaVHtIHoiY6FkIhBbaGaDWFTi0F9XmFJgDilxVM9Ok2tz /VzHuhtsQDetteY/7XQfhBRFCSdB9Ds= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1745911686; h=from:from:reply-to: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; bh=qn7RezL+ZodhNPZz0XE4F8zD560Td22qMXGm4ahQV1Y=; b=zLGjcyQau3o5t/fSlEsPVia9CsBtIvo797gcHFCITw2aKIAt+LM7rtxu1ZMg1xlcorpsZv 6MDJQVUBsSo8MVBQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1745911685; h=from:from:reply-to: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; bh=qn7RezL+ZodhNPZz0XE4F8zD560Td22qMXGm4ahQV1Y=; b=SpArUjJh55/qe7tZb1aGaFjJRt70ELvKKD5Ha0f10UWBAcnNggkBJ1LOsREnerTlc3MZQL iT1wuaElsLWJbRfrK3tLKmjOtlebv89BBJ6zPsw432mxPIOWoMoZ8BVmVH74h1FAqxkXdc cVkDIDaAm8wWSV2OI3e/K/mQZKrrObY= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1745911685; h=from:from:reply-to: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; bh=qn7RezL+ZodhNPZz0XE4F8zD560Td22qMXGm4ahQV1Y=; b=e/Q+QaS59zd31uC/opKdcty8jJKZoleO8IXouA1gM62sXwgUI34vGlg2sUwkuAA71Gbmag xwl71RlCXOieMHAA== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 9A1391340C; Tue, 29 Apr 2025 07:28:05 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id 9JIiJIV/EGimcQAAD6G6ig (envelope-from ); Tue, 29 Apr 2025 07:28:05 +0000 Message-ID: <044b4684-4b88-4228-9bf6-31491b7738ba@suse.cz> Date: Tue, 29 Apr 2025 09:28:05 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 0/4] move all VMA allocation, freeing and duplication logic to mm Content-Language: en-US To: Lorenzo Stoakes , Andrew Morton Cc: "Liam R . Howlett" , Jann Horn , Pedro Falcato , David Hildenbrand , Kees Cook , Alexander Viro , Christian Brauner , Jan Kara , Suren Baghdasaryan , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org References: From: Vlastimil Babka In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 86A5210000C X-Stat-Signature: tsuhs3ihf8qczfhu93x3pk7ud1xjmrqr X-HE-Tag: 1745911687-977933 X-HE-Meta: U2FsdGVkX18GPi0Rh6lpSQp1/vspJz/Jb6ROUTHk4NNQNqxzy3x4tSFWVuezyXRKMQ4/VdWQQmGlHbvEEdpuu5psnujqwspASLEc6cPH0lSfjfw1/9JCsQ/hP/oHahfAe4c1Zku64uQSamS8itO/AAlvqf4bgj3x5zWoz2Y4HB1xncfBi2dpThHSFBGHm4Jb4hXfdzCBcQnRwYICebvLYFX7pwZD+AxekBVwZdU5cnOVqPf51PtiRjkNHH++QoJ21Nlzkosvdw4NqMS3KWvaGVEDSMYblgjatjiFbihdQKyZhMM0k+uYlJXX4NMaVqL13/d2EUQ8bzWLSenqKbbJe2jpNwGtPhpZBWDtbAZN8ivDlioCRBqup+CXV7n0bqXeT9cm32vxE4/IvjEvF+4SMXS0Dc8jFOrWodCPwgqIXfdnA30zS9YMr18RMnzXyqgi2rnYR7EBT6KfkEN/hXUiVFqo4llqTzHFb0K9W9objQ9POI3Sx1xlTh5xaa8z4nzsH5gNlj27qay2zEQbbtKPZovV4XhO+2Bg7KE2Ctn0jVYTptJ/4VJ3JrszLM4aCEC1R3eOptzA+IcMS2oLG97GxUHzJjsNPDxiJk2rWNQv4cBFsG4PDlwA5f+hmJzZuqPXFK69+rp8lxk4m4v+flaRGp23Ln7b792kqO2tOrm1GuQ5z4N/citWFM1wYqIXLV1c5PoYDk/EgM+L2pPyRfS0f8qOejmSo3lumloqt7xkswII37cBMiwmDOCwxNGnQ294itdIv58FH+0J3AQ4dthyf8y+HfqxB5L1eI8OZGwHd49IMDfvQsgKGe46w8xwHsbJw5njJtZPM05ecOzbl8rE3b1JdIWADOZpu5TtkEzyoGRPlnLTNy5wgwerwEd2+8wT42B2YkBfBXLRyGPgYaB717YT11HD+cm9GRoqBiVfY8bJhvzQSPfYEYK3G7xLvO7P1aYajdSeVPJH1PmwuRW HxOKh+Z4 HHqGG9fTINz0p0y9bUH103lljkGc0HiS+8FhCeKXO1cwTx+zpJ85TnpX6HiY1PpRL07ektZ4nTQTa6So0eScos3q1H2PhbpB94IvgV+TI1DokpZ3ta58zQRD33UuxbIlWzEZAEvhib/24hnFYRXqTAnlUcIkssfgS4hQ2EQ5Rb8EEmyfvOF10h5fYmDVwY7Cysy/GtfZ+yqe4WMD7PTKEso5wWIaK7liVxxyviI2JZIUh9kN0NZkZ4NgnIgYZp+CpjPCLdR57/HHxKRVCmGHKVhUdKWVEF08puxQD 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 4/28/25 17:28, Lorenzo Stoakes wrote: > Currently VMA allocation, freeing and duplication exist in kernel/fork.c, > which is a violation of separation of concerns, and leaves these functions > exposed to the rest of the kernel when they are in fact internal > implementation details. > > Resolve this by moving this logic to mm, and making it internal to vma.c, > vma.h. > > This also allows us, in future, to provide userland testing around this > functionality. > > We additionally abstract dup_mmap() to mm, being careful to ensure > kernel/fork.c acceses this via the mm internal header so it is not exposed > elsewhere in the kernel. > > As part of this change, also abstract initial stack allocation performed in > __bprm_mm_init() out of fs code into mm via the create_init_stack_vma(), as > this code uses vm_area_alloc() and vm_area_free(). > > In order to do so sensibly, we introduce a new mm/vma_exec.c file, which > contains the code that is shared by mm and exec. This file is added to both > memory mapping and exec sections in MAINTAINERS so both sets of maintainers > can maintain oversight. Note that kernel/fork.c itself belongs to no section. Maybe we could put it somewhere too, maybe also multiple subsystems? I'm thinking something between MM, SCHEDULER, EXEC, perhaps PIDFD?