All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH -mm v2 0/1] sysctl: remove CONFIG_PROC_SYSCTL, it just mirrors CONFIG_SYSCTL
@ 2026-07-27 14:46 Oleg Nesterov
  2026-07-27 14:47 ` [PATCH -mm v2 1/1] " Oleg Nesterov
  2026-07-27 17:00 ` [PATCH -mm v2 0/1] " Oleg Nesterov
  0 siblings, 2 replies; 5+ messages in thread
From: Oleg Nesterov @ 2026-07-27 14:46 UTC (permalink / raw)
  To: Alexey Gladkov, Andrew Morton, Eric W. Biederman,
	Nathan Chancellor, Nicolas Schier
  Cc: Geert Uytterhoeven, Maxime Coquelin, Alexandre Torgue,
	Heiko Carstens, Vasily Gorbik, Alexander Gordeev, Thomas Gleixner,
	Ingo Molnar, Borislav Petkov, Dave Hansen, Balbir Singh,
	Yang Yang, Peter Zijlstra, Juri Lelli, Vincent Guittot, Kees Cook,
	Joel Granados, Andrew Morton, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Shuah Khan, Jason A. Donenfeld,
	linux-kernel

Andrew, this patch depends on

	sysctl-move-the-cad_pid-entry-from-pid_table-to-kern_reboot_table.patch

in -mm tree, because that patch removes one CONFIG_PROC_SYSCTL too.

If this patch is accepted, I'll send a couple of followup cleanups:

	kernel/sysctl.c:
		collapse the now-identical CONFIG_SYSCTL nesting

	drivers/parport/procfs.c, fs/dcache.c, and fs/file_table.c:
		drop the CONFIG_PROC_FS checks, now it is clear that
		CONFIG_SYSCTL depends on it

Oleg.
---

 arch/m68k/configs/amcore_defconfig                   |  2 +-
 arch/m68k/configs/stmark2_defconfig                  |  2 +-
 arch/s390/Kconfig                                    |  4 ++--
 arch/x86/kernel/cpu/bus_lock.c                       |  2 +-
 fs/proc/Kconfig                                      |  3 +--
 fs/proc/Makefile                                     |  2 +-
 fs/proc/internal.h                                   |  2 +-
 include/linux/utsname.h                              |  2 +-
 init/Kconfig                                         |  3 ---
 kernel/delayacct.c                                   |  2 +-
 kernel/sched/core.c                                  |  8 ++++----
 kernel/sched/topology.c                              |  4 ++--
 kernel/sysctl.c                                      | 12 ++++++------
 kernel/time/jiffies.c                                |  4 ++--
 kernel/utsname_sysctl.c                              |  4 ++--
 lib/Kconfig.debug                                    |  2 +-
 lib/test_sysctl.c                                    |  2 +-
 net/mpls/Kconfig                                     |  2 +-
 tools/testing/selftests/net/config                   |  2 +-
 tools/testing/selftests/net/packetdrill/config       |  2 +-
 tools/testing/selftests/wireguard/qemu/kernel.config |  2 +-
 21 files changed, 32 insertions(+), 36 deletions(-)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH -mm v2 1/1] sysctl: remove CONFIG_PROC_SYSCTL, it just mirrors CONFIG_SYSCTL
  2026-07-27 14:46 [PATCH -mm v2 0/1] sysctl: remove CONFIG_PROC_SYSCTL, it just mirrors CONFIG_SYSCTL Oleg Nesterov
@ 2026-07-27 14:47 ` Oleg Nesterov
  2026-07-27 19:51   ` Nicolas Schier
  2026-07-27 17:00 ` [PATCH -mm v2 0/1] " Oleg Nesterov
  1 sibling, 1 reply; 5+ messages in thread
From: Oleg Nesterov @ 2026-07-27 14:47 UTC (permalink / raw)
  To: Alexey Gladkov, Andrew Morton, Eric W. Biederman,
	Nathan Chancellor, Nicolas Schier
  Cc: Geert Uytterhoeven, Maxime Coquelin, Alexandre Torgue,
	Heiko Carstens, Vasily Gorbik, Alexander Gordeev, Thomas Gleixner,
	Ingo Molnar, Borislav Petkov, Dave Hansen, Balbir Singh,
	Yang Yang, Peter Zijlstra, Juri Lelli, Vincent Guittot, Kees Cook,
	Joel Granados, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Shuah Khan, Jason A. Donenfeld, linux-kernel

CONFIG_SYSCTL used to make sense as a separate hidden bool before commit
61a47c1ad3a4 ("sysctl: Remove the sysctl system call"); it was selected
by both CONFIG_SYSCTL_SYSCALL and CONFIG_PROC_SYSCTL.

Today CONFIG_PROC_SYSCTL is the only selector, so the two are always
equal. Kill the hidden bool, rename the PROC_SYSCTL prompt to SYSCTL,
and s/CONFIG_PROC_SYSCTL/CONFIG_SYSCTL/ tree-wide.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
---
 arch/m68k/configs/amcore_defconfig                   |  2 +-
 arch/m68k/configs/stmark2_defconfig                  |  2 +-
 arch/s390/Kconfig                                    |  4 ++--
 arch/x86/kernel/cpu/bus_lock.c                       |  2 +-
 fs/proc/Kconfig                                      |  3 +--
 fs/proc/Makefile                                     |  2 +-
 fs/proc/internal.h                                   |  2 +-
 include/linux/utsname.h                              |  2 +-
 init/Kconfig                                         |  3 ---
 kernel/delayacct.c                                   |  2 +-
 kernel/sched/core.c                                  |  8 ++++----
 kernel/sched/topology.c                              |  4 ++--
 kernel/sysctl.c                                      | 12 ++++++------
 kernel/time/jiffies.c                                |  4 ++--
 kernel/utsname_sysctl.c                              |  4 ++--
 lib/Kconfig.debug                                    |  2 +-
 lib/test_sysctl.c                                    |  2 +-
 net/mpls/Kconfig                                     |  2 +-
 tools/testing/selftests/net/config                   |  2 +-
 tools/testing/selftests/net/packetdrill/config       |  2 +-
 tools/testing/selftests/wireguard/qemu/kernel.config |  2 +-
 21 files changed, 32 insertions(+), 36 deletions(-)

diff --git a/arch/m68k/configs/amcore_defconfig b/arch/m68k/configs/amcore_defconfig
index f310b5dacfd8..49f1de51d87e 100644
--- a/arch/m68k/configs/amcore_defconfig
+++ b/arch/m68k/configs/amcore_defconfig
@@ -74,7 +74,7 @@ CONFIG_RTC_DRV_DS1307=y
 # CONFIG_DNOTIFY is not set
 # CONFIG_INOTIFY_USER is not set
 CONFIG_FSCACHE=y
-# CONFIG_PROC_SYSCTL is not set
+# CONFIG_SYSCTL is not set
 CONFIG_JFFS2_FS=y
 CONFIG_ROMFS_FS=y
 CONFIG_ROMFS_BACKED_BY_BOTH=y
diff --git a/arch/m68k/configs/stmark2_defconfig b/arch/m68k/configs/stmark2_defconfig
index b3fb95f73a95..cd454369bfe8 100644
--- a/arch/m68k/configs/stmark2_defconfig
+++ b/arch/m68k/configs/stmark2_defconfig
@@ -87,7 +87,7 @@ CONFIG_EXT4_FS_SECURITY=y
 # CONFIG_DNOTIFY is not set
 # CONFIG_INOTIFY_USER is not set
 CONFIG_OVERLAY_FS=y
-# CONFIG_PROC_SYSCTL is not set
+# CONFIG_SYSCTL is not set
 CONFIG_SQUASHFS=y
 CONFIG_XZ_DEC=y
 CONFIG_PRINTK_TIME=y
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 84404e6778d5..68dc2ebd6124 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -575,7 +575,7 @@ config HIPERDISPATCH_ON
 	def_bool y
 	bool "Use hiperdispatch on vertical polarization by default"
 	depends on SCHED_TOPOLOGY
-	depends on PROC_SYSCTL
+	depends on SYSCTL
 	help
 	  Hiperdispatch aims to improve the CPU scheduler's decision
 	  making when using vertical polarization by adjusting CPU
@@ -893,7 +893,7 @@ config CMM_IUCV
 config APPLDATA_BASE
 	def_bool n
 	prompt "Linux - VM Monitor Stream, base infrastructure"
-	depends on PROC_SYSCTL
+	depends on SYSCTL
 	help
 	  This provides a kernel interface for creating and updating z/VM APPLDATA
 	  monitor records. The monitor records are updated at certain time
diff --git a/arch/x86/kernel/cpu/bus_lock.c b/arch/x86/kernel/cpu/bus_lock.c
index bba28607a59a..177f964d4d36 100644
--- a/arch/x86/kernel/cpu/bus_lock.c
+++ b/arch/x86/kernel/cpu/bus_lock.c
@@ -50,7 +50,7 @@ static struct ratelimit_state bld_ratelimit;
 static unsigned int sysctl_sld_mitigate = 1;
 static DEFINE_SEMAPHORE(buslock_sem, 1);
 
-#ifdef CONFIG_PROC_SYSCTL
+#ifdef CONFIG_SYSCTL
 static const struct ctl_table sld_sysctls[] = {
 	{
 		.procname       = "split_lock_mitigate",
diff --git a/fs/proc/Kconfig b/fs/proc/Kconfig
index 6ae966c561e7..24f5a36f45df 100644
--- a/fs/proc/Kconfig
+++ b/fs/proc/Kconfig
@@ -80,10 +80,9 @@ config PROC_VMCORE_DEVICE_RAM
 
 	  Relevant architectures should select NEED_PROC_VMCORE_DEVICE_RAM.
 
-config PROC_SYSCTL
+config SYSCTL
 	bool "Sysctl support (/proc/sys)" if EXPERT
 	depends on PROC_FS
-	select SYSCTL
 	default y
 	help
 	  The sysctl interface provides a means of dynamically changing
diff --git a/fs/proc/Makefile b/fs/proc/Makefile
index 8bc615ff84e5..27e2b26b2d42 100644
--- a/fs/proc/Makefile
+++ b/fs/proc/Makefile
@@ -29,7 +29,7 @@ proc-y	+= softirqs.o
 proc-y	+= namespaces.o
 proc-y	+= self.o
 proc-y	+= thread_self.o
-proc-$(CONFIG_PROC_SYSCTL)	+= proc_sysctl.o
+proc-$(CONFIG_SYSCTL)		+= proc_sysctl.o
 proc-$(CONFIG_NET)		+= proc_net.o
 proc-$(CONFIG_PROC_KCORE)	+= kcore.o
 proc-$(CONFIG_PROC_VMCORE)	+= vmcore.o
diff --git a/fs/proc/internal.h b/fs/proc/internal.h
index b232e1098117..04bd6c9e65a7 100644
--- a/fs/proc/internal.h
+++ b/fs/proc/internal.h
@@ -351,7 +351,7 @@ extern void proc_thread_self_init(void);
 /*
  * proc_sysctl.c
  */
-#ifdef CONFIG_PROC_SYSCTL
+#ifdef CONFIG_SYSCTL
 extern int proc_sys_init(void);
 extern void proc_sys_evict_inode(struct inode *inode,
 				 struct ctl_table_header *head);
diff --git a/include/linux/utsname.h b/include/linux/utsname.h
index 547bd4439706..dc5594ffffcc 100644
--- a/include/linux/utsname.h
+++ b/include/linux/utsname.h
@@ -18,7 +18,7 @@ enum uts_proc {
 	UTS_PROC_DOMAINNAME,
 };
 
-#ifdef CONFIG_PROC_SYSCTL
+#ifdef CONFIG_SYSCTL
 extern void uts_proc_notify(enum uts_proc proc);
 #else
 static inline void uts_proc_notify(enum uts_proc proc)
diff --git a/init/Kconfig b/init/Kconfig
index 5230d4879b1c..a505ab5be824 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1661,9 +1661,6 @@ config LD_ORPHAN_WARN_LEVEL
 	default "error" if WERROR
 	default "warn"
 
-config SYSCTL
-	bool
-
 config HAVE_UID16
 	bool
 
diff --git a/kernel/delayacct.c b/kernel/delayacct.c
index 2e55c493c98b..479e860aff70 100644
--- a/kernel/delayacct.c
+++ b/kernel/delayacct.c
@@ -54,7 +54,7 @@ void delayacct_init(void)
 	set_delayacct(delayacct_on);
 }
 
-#ifdef CONFIG_PROC_SYSCTL
+#ifdef CONFIG_SYSCTL
 static int sysctl_delayacct(const struct ctl_table *table, int write, void *buffer,
 		     size_t *lenp, loff_t *ppos)
 {
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 96226707c2f6..ddedc1d6847b 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4638,7 +4638,7 @@ void set_numabalancing_state(bool enabled)
 	__set_numabalancing_state(enabled);
 }
 
-#ifdef CONFIG_PROC_SYSCTL
+#ifdef CONFIG_SYSCTL
 static void reset_memory_tiering(void)
 {
 	struct pglist_data *pgdat;
@@ -4674,7 +4674,7 @@ static int sysctl_numa_balancing(const struct ctl_table *table, int write,
 	}
 	return err;
 }
-#endif /* CONFIG_PROC_SYSCTL */
+#endif /* CONFIG_SYSCTL */
 #endif /* CONFIG_NUMA_BALANCING */
 
 #ifdef CONFIG_SCHEDSTATS
@@ -4718,7 +4718,7 @@ static int __init setup_schedstats(char *str)
 }
 __setup("schedstats=", setup_schedstats);
 
-#ifdef CONFIG_PROC_SYSCTL
+#ifdef CONFIG_SYSCTL
 static int sysctl_schedstats(const struct ctl_table *table, int write, void *buffer,
 		size_t *lenp, loff_t *ppos)
 {
@@ -4738,7 +4738,7 @@ static int sysctl_schedstats(const struct ctl_table *table, int write, void *buf
 		set_schedstats(state);
 	return err;
 }
-#endif /* CONFIG_PROC_SYSCTL */
+#endif /* CONFIG_SYSCTL */
 #endif /* CONFIG_SCHEDSTATS */
 
 #ifdef CONFIG_SYSCTL
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index 622e2e01974c..5a29e506c25d 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -271,7 +271,7 @@ void rebuild_sched_domains_energy(void)
 	mutex_unlock(&sched_energy_mutex);
 }
 
-#ifdef CONFIG_PROC_SYSCTL
+#ifdef CONFIG_SYSCTL
 static int sched_energy_aware_handler(const struct ctl_table *table, int write,
 		void *buffer, size_t *lenp, loff_t *ppos)
 {
@@ -317,7 +317,7 @@ static int __init sched_energy_aware_sysctl_init(void)
 }
 
 late_initcall(sched_energy_aware_sysctl_init);
-#endif /* CONFIG_PROC_SYSCTL */
+#endif /* CONFIG_SYSCTL */
 
 static void free_pd(struct perf_domain *pd)
 {
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index c9efb17cc255..eb852c304969 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -35,7 +35,7 @@ EXPORT_SYMBOL_GPL(sysctl_long_vals);
 static const int ngroups_max = NGROUPS_MAX;
 static const int cap_last_cap = CAP_LAST_CAP;
 
-#ifdef CONFIG_PROC_SYSCTL
+#ifdef CONFIG_SYSCTL
 
 /**
  * enum sysctl_writes_mode - supported sysctl write modes
@@ -64,14 +64,14 @@ enum sysctl_writes_mode {
 };
 
 static enum sysctl_writes_mode sysctl_writes_strict = SYSCTL_WRITES_STRICT;
-#endif /* CONFIG_PROC_SYSCTL */
+#endif /* CONFIG_SYSCTL */
 #endif /* CONFIG_SYSCTL */
 
 /*
  * /proc/sys support
  */
 
-#ifdef CONFIG_PROC_SYSCTL
+#ifdef CONFIG_SYSCTL
 
 static int _proc_do_string(char *data, int maxlen, int dir,
 		char *buffer, size_t *lenp, loff_t *ppos)
@@ -1240,7 +1240,7 @@ int proc_do_large_bitmap(const struct ctl_table *table, int dir,
 	return err;
 }
 
-#else /* CONFIG_PROC_SYSCTL */
+#else /* CONFIG_SYSCTL */
 
 int proc_dostring(const struct ctl_table *table, int dir,
 		  void *buffer, size_t *lenp, loff_t *ppos)
@@ -1338,7 +1338,7 @@ int proc_do_large_bitmap(const struct ctl_table *table, int dir,
 	return -ENOSYS;
 }
 
-#endif /* CONFIG_PROC_SYSCTL */
+#endif /* CONFIG_SYSCTL */
 
 #if defined(CONFIG_SYSCTL)
 int proc_do_static_key(const struct ctl_table *table, int dir,
@@ -1372,7 +1372,7 @@ int proc_do_static_key(const struct ctl_table *table, int dir,
 }
 
 static const struct ctl_table sysctl_subsys_table[] = {
-#ifdef CONFIG_PROC_SYSCTL
+#ifdef CONFIG_SYSCTL
 	{
 		.procname	= "sysctl_writes_strict",
 		.data		= &sysctl_writes_strict,
diff --git a/kernel/time/jiffies.c b/kernel/time/jiffies.c
index d51428867a33..84c6bd8e742e 100644
--- a/kernel/time/jiffies.c
+++ b/kernel/time/jiffies.c
@@ -98,7 +98,7 @@ void __init register_refined_jiffies(long cycles_per_second)
 	__clocksource_register(&refined_jiffies);
 }
 
-#ifdef CONFIG_PROC_SYSCTL
+#ifdef CONFIG_SYSCTL
 static ulong mult_hz(const ulong val)
 {
 	return val * HZ;
@@ -185,7 +185,7 @@ static int do_proc_int_conv_ms_jiffies_minmax(bool *negp, ulong *u_ptr,
 			     sysctl_u2k_int_conv_ms, sysctl_k2u_int_conv_ms);
 }
 
-#else // CONFIG_PROC_SYSCTL
+#else // CONFIG_SYSCTL
 static int do_proc_int_conv_jiffies(bool *negp, ulong *u_ptr, int *k_ptr,
 				    int dir, const struct ctl_table *tbl)
 {
diff --git a/kernel/utsname_sysctl.c b/kernel/utsname_sysctl.c
index bfbaaecb1dd4..6c1522201e39 100644
--- a/kernel/utsname_sysctl.c
+++ b/kernel/utsname_sysctl.c
@@ -13,7 +13,7 @@
 #include <linux/wait.h>
 #include <linux/rwsem.h>
 
-#ifdef CONFIG_PROC_SYSCTL
+#ifdef CONFIG_SYSCTL
 
 static void *get_uts(const struct ctl_table *table)
 {
@@ -122,7 +122,7 @@ static const struct ctl_table uts_kern_table[] = {
 	},
 };
 
-#ifdef CONFIG_PROC_SYSCTL
+#ifdef CONFIG_SYSCTL
 /*
  * Notify userspace about a change in a certain entry of uts_kern_table,
  * identified by the parameter proc.
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 1244dcac2294..73287ef2498c 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -2710,7 +2710,7 @@ config TEST_FIRMWARE
 
 config TEST_SYSCTL
 	tristate "sysctl test driver"
-	depends on PROC_SYSCTL
+	depends on SYSCTL
 	help
 	  This builds the "test_sysctl" module. This driver enables to test the
 	  proc sysctl interfaces available to drivers safely without affecting
diff --git a/lib/test_sysctl.c b/lib/test_sysctl.c
index c02aa9c868f2..909cfcf76dbf 100644
--- a/lib/test_sysctl.c
+++ b/lib/test_sysctl.c
@@ -7,7 +7,7 @@
 
 /*
  * This module provides an interface to the proc sysctl interfaces.  This
- * driver requires CONFIG_PROC_SYSCTL. It will not normally be loaded by the
+ * driver requires CONFIG_SYSCTL. It will not normally be loaded by the
  * system unless explicitly requested by name. You can also build this driver
  * into your kernel.
  */
diff --git a/net/mpls/Kconfig b/net/mpls/Kconfig
index d672ab72ab12..829fb1788b1c 100644
--- a/net/mpls/Kconfig
+++ b/net/mpls/Kconfig
@@ -26,7 +26,7 @@ config NET_MPLS_GSO
 config MPLS_ROUTING
 	tristate "MPLS: routing support"
 	depends on NET_IP_TUNNEL || NET_IP_TUNNEL=n
-	depends on PROC_SYSCTL
+	depends on SYSCTL
 	help
 	 Add support for forwarding of mpls packets.
 
diff --git a/tools/testing/selftests/net/config b/tools/testing/selftests/net/config
index e1ce35c2abbe..bea62d41db8d 100644
--- a/tools/testing/selftests/net/config
+++ b/tools/testing/selftests/net/config
@@ -118,7 +118,7 @@ CONFIG_OPENVSWITCH_GENEVE=m
 CONFIG_OPENVSWITCH_GRE=m
 CONFIG_OPENVSWITCH_VXLAN=m
 CONFIG_PAGE_POOL_STATS=y
-CONFIG_PROC_SYSCTL=y
+CONFIG_SYSCTL=y
 CONFIG_PSAMPLE=m
 CONFIG_RPS=y
 CONFIG_SYN_COOKIES=y
diff --git a/tools/testing/selftests/net/packetdrill/config b/tools/testing/selftests/net/packetdrill/config
index c4a19a785521..83dde525c53c 100644
--- a/tools/testing/selftests/net/packetdrill/config
+++ b/tools/testing/selftests/net/packetdrill/config
@@ -4,7 +4,7 @@ CONFIG_IPV6=y
 CONFIG_NET_NS=y
 CONFIG_NET_SCH_FIFO=y
 CONFIG_NET_SCH_FQ=y
-CONFIG_PROC_SYSCTL=y
+CONFIG_SYSCTL=y
 CONFIG_SYN_COOKIES=y
 CONFIG_TCP_CONG_CUBIC=y
 CONFIG_TCP_MD5SIG=y
diff --git a/tools/testing/selftests/wireguard/qemu/kernel.config b/tools/testing/selftests/wireguard/qemu/kernel.config
index bb89d2dfaa2a..368fd9d600c8 100644
--- a/tools/testing/selftests/wireguard/qemu/kernel.config
+++ b/tools/testing/selftests/wireguard/qemu/kernel.config
@@ -63,7 +63,7 @@ CONFIG_FILE_LOCKING=y
 CONFIG_POSIX_TIMERS=y
 CONFIG_DEVTMPFS=y
 CONFIG_PROC_FS=y
-CONFIG_PROC_SYSCTL=y
+CONFIG_SYSCTL=y
 CONFIG_SYSFS=y
 CONFIG_TMPFS=y
 CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH -mm v2 0/1] sysctl: remove CONFIG_PROC_SYSCTL, it just mirrors CONFIG_SYSCTL
  2026-07-27 14:46 [PATCH -mm v2 0/1] sysctl: remove CONFIG_PROC_SYSCTL, it just mirrors CONFIG_SYSCTL Oleg Nesterov
  2026-07-27 14:47 ` [PATCH -mm v2 1/1] " Oleg Nesterov
@ 2026-07-27 17:00 ` Oleg Nesterov
  2026-07-27 19:18   ` Andrew Morton
  1 sibling, 1 reply; 5+ messages in thread
From: Oleg Nesterov @ 2026-07-27 17:00 UTC (permalink / raw)
  To: Alexey Gladkov, Andrew Morton, Eric W. Biederman,
	Nathan Chancellor, Nicolas Schier
  Cc: Geert Uytterhoeven, Maxime Coquelin, Alexandre Torgue,
	Heiko Carstens, Vasily Gorbik, Alexander Gordeev, Thomas Gleixner,
	Ingo Molnar, Borislav Petkov, Dave Hansen, Balbir Singh,
	Yang Yang, Peter Zijlstra, Juri Lelli, Vincent Guittot, Kees Cook,
	Joel Granados, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Shuah Khan, Jason A. Donenfeld, linux-kernel

On 07/27, Oleg Nesterov wrote:
>
> Andrew, this patch depends on
>
> 	sysctl-move-the-cad_pid-entry-from-pid_table-to-kern_reboot_table.patch
>
> in -mm tree, because that patch removes one CONFIG_PROC_SYSCTL too.

Just in case...

From https://sashiko.dev/#/patchset/amdveg1m4E4uQlGv%40redhat.com

	Did this tree-wide rename miss an instance in kernel/pid.c?

This instance was already removed by

	sysctl-move-the-cad_pid-entry-from-pid_table-to-kern_reboot_table.patch

mentioned above. And this is exactly why this patch is based on -mm.

Oleg.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH -mm v2 0/1] sysctl: remove CONFIG_PROC_SYSCTL, it just mirrors CONFIG_SYSCTL
  2026-07-27 17:00 ` [PATCH -mm v2 0/1] " Oleg Nesterov
@ 2026-07-27 19:18   ` Andrew Morton
  0 siblings, 0 replies; 5+ messages in thread
From: Andrew Morton @ 2026-07-27 19:18 UTC (permalink / raw)
  To: Oleg Nesterov
  Cc: Alexey Gladkov, Eric W. Biederman, Nathan Chancellor,
	Nicolas Schier, Geert Uytterhoeven, Maxime Coquelin,
	Alexandre Torgue, Heiko Carstens, Vasily Gorbik,
	Alexander Gordeev, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
	Dave Hansen, Balbir Singh, Yang Yang, Peter Zijlstra, Juri Lelli,
	Vincent Guittot, Kees Cook, Joel Granados, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Shuah Khan,
	Jason A. Donenfeld, linux-kernel

On Mon, 27 Jul 2026 19:00:30 +0200 Oleg Nesterov <oleg@redhat.com> wrote:

> On 07/27, Oleg Nesterov wrote:
> >
> > Andrew, this patch depends on
> >
> > 	sysctl-move-the-cad_pid-entry-from-pid_table-to-kern_reboot_table.patch
> >
> > in -mm tree, because that patch removes one CONFIG_PROC_SYSCTL too.
> 
> Just in case...
> 
> >From https://sashiko.dev/#/patchset/amdveg1m4E4uQlGv%40redhat.com
> 
> 	Did this tree-wide rename miss an instance in kernel/pid.c?
> 
> This instance was already removed by
> 
> 	sysctl-move-the-cad_pid-entry-from-pid_table-to-kern_reboot_table.patch
> 
> mentioned above. And this is exactly why this patch is based on -mm.

Yeah, Sashiko tried the patch against net/HEAD, found that it applied
then went for it.

Perhaps it would be better for Sashiko to attempt linux-next first.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH -mm v2 1/1] sysctl: remove CONFIG_PROC_SYSCTL, it just mirrors CONFIG_SYSCTL
  2026-07-27 14:47 ` [PATCH -mm v2 1/1] " Oleg Nesterov
@ 2026-07-27 19:51   ` Nicolas Schier
  0 siblings, 0 replies; 5+ messages in thread
From: Nicolas Schier @ 2026-07-27 19:51 UTC (permalink / raw)
  To: Oleg Nesterov
  Cc: Alexey Gladkov, Andrew Morton, Eric W. Biederman,
	Nathan Chancellor, Geert Uytterhoeven, Maxime Coquelin,
	Alexandre Torgue, Heiko Carstens, Vasily Gorbik,
	Alexander Gordeev, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
	Dave Hansen, Balbir Singh, Yang Yang, Peter Zijlstra, Juri Lelli,
	Vincent Guittot, Kees Cook, Joel Granados, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Shuah Khan,
	Jason A. Donenfeld, linux-kernel

On Mon, Jul 27, 2026 at 04:47:22PM +0200, Oleg Nesterov wrote:
> CONFIG_SYSCTL used to make sense as a separate hidden bool before commit
> 61a47c1ad3a4 ("sysctl: Remove the sysctl system call"); it was selected
> by both CONFIG_SYSCTL_SYSCALL and CONFIG_PROC_SYSCTL.
> 
> Today CONFIG_PROC_SYSCTL is the only selector, so the two are always
> equal. Kill the hidden bool, rename the PROC_SYSCTL prompt to SYSCTL,
> and s/CONFIG_PROC_SYSCTL/CONFIG_SYSCTL/ tree-wide.
> 
> Signed-off-by: Oleg Nesterov <oleg@redhat.com>
> ---

[...]
> diff --git a/fs/proc/Kconfig b/fs/proc/Kconfig
> index 6ae966c561e7..24f5a36f45df 100644
> --- a/fs/proc/Kconfig
> +++ b/fs/proc/Kconfig
> @@ -80,10 +80,9 @@ config PROC_VMCORE_DEVICE_RAM
>  
>  	  Relevant architectures should select NEED_PROC_VMCORE_DEVICE_RAM.
>  
> -config PROC_SYSCTL
> +config SYSCTL
>  	bool "Sysctl support (/proc/sys)" if EXPERT
>  	depends on PROC_FS
> -	select SYSCTL
>  	default y
>  	help
>  	  The sysctl interface provides a means of dynamically changing

Please be aware that renaming of Kconfig symbols may not be welcomed due
to unwanted effects for users and for bisecting, cp. last paragraph of

https://docs.kernel.org/process/handling-regressions.html#handling-regressions

and the original thread.

Personally, I do understand that it makes sense to clean this up, here.
As the default was and stays 'y' this should affect only "few" users,
but still I am feeling ambigious about it.

Sorry for missing to point to that at the RFC.

Kind regards,
Nicolas


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-07-27 19:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-27 14:46 [PATCH -mm v2 0/1] sysctl: remove CONFIG_PROC_SYSCTL, it just mirrors CONFIG_SYSCTL Oleg Nesterov
2026-07-27 14:47 ` [PATCH -mm v2 1/1] " Oleg Nesterov
2026-07-27 19:51   ` Nicolas Schier
2026-07-27 17:00 ` [PATCH -mm v2 0/1] " Oleg Nesterov
2026-07-27 19:18   ` Andrew Morton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.