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 A79C6E77199 for ; Thu, 9 Jan 2025 02:20:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E79236B0083; Wed, 8 Jan 2025 21:20:29 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E01F06B0085; Wed, 8 Jan 2025 21:20:29 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CA2F26B0088; Wed, 8 Jan 2025 21:20:29 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id AA3766B0083 for ; Wed, 8 Jan 2025 21:20:29 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 20419C1605 for ; Thu, 9 Jan 2025 02:20:29 +0000 (UTC) X-FDA: 82986309378.19.B97DA4B Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by imf07.hostedemail.com (Postfix) with ESMTP id D749840011 for ; Thu, 9 Jan 2025 02:20:25 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=none; spf=pass (imf07.hostedemail.com: domain of yukaixiong@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=yukaixiong@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736389227; 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; bh=Veci3OrIM3WQuJYBbyTnHdfOjPPt1hhVo00ZzgWZAOM=; b=K27Ll5GzvyLLbw8LR8Lxyn1aFt24tBJ3++Ae0ceWeFdYNB8HrOs3CpuNcMODiWoF1t1B1b AuBOrdlTN+W1eEpREuf6xE27Ig3qy8Bi5qnuru3l7XSMaIJuKIHhhzHyFsPzIL6gCti3KG ioWRzA6cYMiUUfuJ1UAPkyfHUUfZfDM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736389227; a=rsa-sha256; cv=none; b=b2FelnpLUip/Lzl/iFkp76QpHnUf7uCzGwccyOaU/4PZ3jahaRjrOxyqAX84J5gM/5fL28 1g3bhaQr81CR/mm6PWg/boPoM97Uywdxf+VinKQsQ8gdPoQ9WeTXAFuKyrL4a+TkEGtfJZ hdUaBYP9ucWd9YjOVDbU3Jf5La8cvss= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=none; spf=pass (imf07.hostedemail.com: domain of yukaixiong@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=yukaixiong@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com Received: from mail.maildlp.com (unknown [172.19.163.252]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4YT7h55PQ3zjY89; Thu, 9 Jan 2025 10:16:37 +0800 (CST) Received: from kwepemh100016.china.huawei.com (unknown [7.202.181.102]) by mail.maildlp.com (Postfix) with ESMTPS id A0DFE1800D1; Thu, 9 Jan 2025 10:20:20 +0800 (CST) Received: from [10.174.179.93] (10.174.179.93) by kwepemh100016.china.huawei.com (7.202.181.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Thu, 9 Jan 2025 10:20:17 +0800 Subject: Re: [PATCH v4 -next 06/15] mm: mmap: move sysctl to mm/mmap.c To: Lorenzo Stoakes References: <20241223141550.638616-1-yukaixiong@huawei.com> <20241223141550.638616-7-yukaixiong@huawei.com> CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , From: yukaixiong Message-ID: <66d64c25-5c82-1388-e09d-f49765efcfba@huawei.com> Date: Thu, 9 Jan 2025 10:20:16 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.174.179.93] X-ClientProxiedBy: dggpeml500006.china.huawei.com (7.185.36.76) To kwepemh100016.china.huawei.com (7.202.181.102) X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: D749840011 X-Stat-Signature: a5h1pybdesafhf3oktsfbafc9ry9fj3q X-Rspam-User: X-HE-Tag: 1736389225-923615 X-HE-Meta: U2FsdGVkX18lUAeDITLw/KFKgF1ijkg4hUP2oU9mi+yl8tYgk5IvQ2EKkUduvr5X4MssOwAR95EpOS1JnHrctTtC/rhTOdL8SlWCzLuxFXlF3tb156uona+6bgJvEsHfk1Vq8tnkcB3UbLKNWLzCfTaxwbzIWTMEEGKqoOeJ5/e7+7cyHn55oNfgCnAYjPUhf8rIw2N9E/R8HtmBEx1BzfpGyplm33VaEeY6migS+bq6/nkILqIijDNHLqfpV7UcxNdgxdd2cIqy1VsTEJFEyZNbsnJiRouOdFKCGYlWOg4OrhBjgLZPz3+ZwOzJIRm7spkUC7qU4P5Rk75o2XvjZefKschsGYey89bAtjfiGo8zbA497flwdRXtRfwGr1ot3Er76oUuXe5A/28WqCHz2F6WAdz32qBN5ogg9UOFfEfvIRTViz9fux4DPI0XZtX30wA4Y2zUFLTdy96FT6LhXnr06JJbrETWZyuXqp+/ZKU0Byw2ZrBucewlWEOeKzWv72tB1e0tB+Y8Y9O8onr29tyKEL43R8i9i6W2pZ/kpsqHLkSuRx+R50bZv+ubxB6tNs+vDH6fWcNbR+9f3hxEF9g8qnrrT8Y8pfoHfUs+m2NMhWr+fTDD38Dtjx339NqhstYEgdEyBL8LtIl3UMmhdr39vNJIgmrGrYhSELjj7u8dc00mJfooQNUPJ6lD+9hOCG0Un2vwets0bN8Dfm0TScZBu16e48CLTDv9PsO5MN16E1Y+rrq1EHcAE24S68+esMuNvWP7nGQLL+2kAK5bIu2dZIXWuicfWYpS3p+U77GE2+REwhtLvw7T/E/0CPvU122Nj+CO4Xkcv6ZJ9hjFDCCzPMXQMqT8CEYqGFTmfj2Ny3HkTJZYF7K8K6jCUUj1rJSaecfy/xAoMu/ptmiN/0uLyDwYWrrUi1RbTVnV+hj/gXODfn0IFBuc4pP049qtVvIB1GIuoduuKFsgPdl STONgEso TN3VrmFz7K0VObqrwCYhUZHOP4IlY12axYj0X016t0H0dvBhaA0ciwTv7f+u6lXgeiRb1zeCPiCec1QBJX3dntY8SOeUoi+SPcA2r3s2Ngl9goEkqgm718RG5QGQUGGeJUCtNZ8WvWpKgKrHRJlWDKC3jca1aHwTX42GVyrt2DO6mzowZrhx8XhJrdU7N06x0X9saQw8a22tbtPk= 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 2025/1/2 22:08, Lorenzo Stoakes wrote: > On Mon, Dec 23, 2024 at 10:15:25PM +0800, Kaixiong Yu wrote: >> This moves all mmap related sysctls to mm/mmap.c, as part of the >> kernel/sysctl.c cleaning, also move the variable declaration from >> kernel/sysctl.c into mm/mmap.c. >> >> Signed-off-by: Kaixiong Yu >> Reviewed-by: Kees Cook > Looks good to me, thanks! > > Reviewed-by: Lorenzo Stoakes Thanks for your review! Best ... >> --- >> v4: >> - const qualify struct ctl_table mmap_table >> v3: >> - change the title >> v2: >> - fix sysctl_max_map_count undeclared issue in mm/nommu.c >> --- >> --- >> kernel/sysctl.c | 50 +-------------------------------------------- >> mm/mmap.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ >> 2 files changed, 55 insertions(+), 49 deletions(-) >> >> diff --git a/kernel/sysctl.c b/kernel/sysctl.c >> index aea3482106e0..9c245898f535 100644 >> --- a/kernel/sysctl.c >> +++ b/kernel/sysctl.c >> @@ -127,12 +127,6 @@ enum sysctl_writes_mode { >> >> static enum sysctl_writes_mode sysctl_writes_strict = SYSCTL_WRITES_STRICT; >> #endif /* CONFIG_PROC_SYSCTL */ >> - >> -#if defined(HAVE_ARCH_PICK_MMAP_LAYOUT) || \ >> - defined(CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT) >> -int sysctl_legacy_va_layout; >> -#endif >> - >> #endif /* CONFIG_SYSCTL */ >> >> /* >> @@ -2037,16 +2031,7 @@ static struct ctl_table vm_table[] = { >> .extra1 = SYSCTL_ONE, >> .extra2 = SYSCTL_FOUR, >> }, >> -#ifdef CONFIG_MMU >> - { >> - .procname = "max_map_count", >> - .data = &sysctl_max_map_count, >> - .maxlen = sizeof(sysctl_max_map_count), >> - .mode = 0644, >> - .proc_handler = proc_dointvec_minmax, >> - .extra1 = SYSCTL_ZERO, >> - }, >> -#else >> +#ifndef CONFIG_MMU >> { >> .procname = "nr_trim_pages", >> .data = &sysctl_nr_trim_pages, >> @@ -2064,17 +2049,6 @@ static struct ctl_table vm_table[] = { >> .proc_handler = proc_dointvec_minmax, >> .extra1 = SYSCTL_ZERO, >> }, > Nitty, but this bit belongs in mm/nommu.c? > >> -#if defined(HAVE_ARCH_PICK_MMAP_LAYOUT) || \ >> - defined(CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT) >> - { >> - .procname = "legacy_va_layout", >> - .data = &sysctl_legacy_va_layout, >> - .maxlen = sizeof(sysctl_legacy_va_layout), >> - .mode = 0644, >> - .proc_handler = proc_dointvec_minmax, >> - .extra1 = SYSCTL_ZERO, >> - }, >> -#endif >> #ifdef CONFIG_MMU >> { >> .procname = "mmap_min_addr", >> @@ -2100,28 +2074,6 @@ static struct ctl_table vm_table[] = { >> .extra1 = SYSCTL_ZERO, >> }, >> #endif >> -#ifdef CONFIG_HAVE_ARCH_MMAP_RND_BITS >> - { >> - .procname = "mmap_rnd_bits", >> - .data = &mmap_rnd_bits, >> - .maxlen = sizeof(mmap_rnd_bits), >> - .mode = 0600, >> - .proc_handler = proc_dointvec_minmax, >> - .extra1 = (void *)&mmap_rnd_bits_min, >> - .extra2 = (void *)&mmap_rnd_bits_max, >> - }, >> -#endif >> -#ifdef CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS >> - { >> - .procname = "mmap_rnd_compat_bits", >> - .data = &mmap_rnd_compat_bits, >> - .maxlen = sizeof(mmap_rnd_compat_bits), >> - .mode = 0600, >> - .proc_handler = proc_dointvec_minmax, >> - .extra1 = (void *)&mmap_rnd_compat_bits_min, >> - .extra2 = (void *)&mmap_rnd_compat_bits_max, >> - }, >> -#endif >> }; >> >> int __init sysctl_init_bases(void) >> diff --git a/mm/mmap.c b/mm/mmap.c >> index aef835984b1c..cc579aafd7ba 100644 >> --- a/mm/mmap.c >> +++ b/mm/mmap.c >> @@ -1603,6 +1603,57 @@ struct vm_area_struct *_install_special_mapping( >> &special_mapping_vmops); >> } >> >> +#ifdef CONFIG_SYSCTL >> +#if defined(HAVE_ARCH_PICK_MMAP_LAYOUT) || \ >> + defined(CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT) >> +int sysctl_legacy_va_layout; >> +#endif >> + >> +static const struct ctl_table mmap_table[] = { >> + { >> + .procname = "max_map_count", >> + .data = &sysctl_max_map_count, >> + .maxlen = sizeof(sysctl_max_map_count), >> + .mode = 0644, >> + .proc_handler = proc_dointvec_minmax, >> + .extra1 = SYSCTL_ZERO, >> + }, >> +#if defined(HAVE_ARCH_PICK_MMAP_LAYOUT) || \ >> + defined(CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT) >> + { >> + .procname = "legacy_va_layout", >> + .data = &sysctl_legacy_va_layout, >> + .maxlen = sizeof(sysctl_legacy_va_layout), >> + .mode = 0644, >> + .proc_handler = proc_dointvec_minmax, >> + .extra1 = SYSCTL_ZERO, >> + }, >> +#endif >> +#ifdef CONFIG_HAVE_ARCH_MMAP_RND_BITS >> + { >> + .procname = "mmap_rnd_bits", >> + .data = &mmap_rnd_bits, >> + .maxlen = sizeof(mmap_rnd_bits), >> + .mode = 0600, >> + .proc_handler = proc_dointvec_minmax, >> + .extra1 = (void *)&mmap_rnd_bits_min, >> + .extra2 = (void *)&mmap_rnd_bits_max, >> + }, >> +#endif >> +#ifdef CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS >> + { >> + .procname = "mmap_rnd_compat_bits", >> + .data = &mmap_rnd_compat_bits, >> + .maxlen = sizeof(mmap_rnd_compat_bits), >> + .mode = 0600, >> + .proc_handler = proc_dointvec_minmax, >> + .extra1 = (void *)&mmap_rnd_compat_bits_min, >> + .extra2 = (void *)&mmap_rnd_compat_bits_max, >> + }, >> +#endif >> +}; >> +#endif /* CONFIG_SYSCTL */ >> + >> /* >> * initialise the percpu counter for VM >> */ >> @@ -1612,6 +1663,9 @@ void __init mmap_init(void) >> >> ret = percpu_counter_init(&vm_committed_as, 0, GFP_KERNEL); >> VM_BUG_ON(ret); >> +#ifdef CONFIG_SYSCTL >> + register_sysctl_init("vm", mmap_table); >> +#endif >> } >> >> /* >> -- >> 2.34.1 >> > . >