* [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.