]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mm: mmap: move sysctl to mm/mmap.c
authorKaixiong Yu <yukaixiong@huawei.com>
Sat, 11 Jan 2025 07:07:41 +0000 (15:07 +0800)
committerJoel Granados <joel.granados@kernel.org>
Fri, 7 Feb 2025 15:53:04 +0000 (16:53 +0100)
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 <yukaixiong@huawei.com>
Reviewed-by: Kees Cook <kees@kernel.org>
Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Joel Granados <joel.granados@kernel.org>
kernel/sysctl.c
mm/mmap.c

index ad62b76851e787d626e885c02861401710b1e974..98a95396d20b7aea9712c2df31c7ad963e450040 100644 (file)
@@ -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 const 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 const struct ctl_table vm_table[] = {
                .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_MMU
        {
                .procname       = "mmap_min_addr",
@@ -2100,28 +2074,6 @@ static const 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)
index cda01071c7b1f0ed9699496d24041f58bce86b84..d6bbe435bd990cf4c17aadd8a4b3822b4d1a422c 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -1543,6 +1543,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
  */
@@ -1552,6 +1603,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
 }
 
 /*