mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
Merge tag 'sysctl-6.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl
Pull sysctl updates from Joel Granados:
- Move vm_table members out of kernel/sysctl.c
All vm_table array members have moved to their respective subsystems
leading to the removal of vm_table from kernel/sysctl.c. This
increases modularity by placing the ctl_tables closer to where they
are actually used and at the same time reducing the chances of merge
conflicts in kernel/sysctl.c.
- ctl_table range fixes
Replace the proc_handler function that checks variable ranges in
coredump_sysctls and vdso_table with the one that actually uses the
extra{1,2} pointers as min/max values. This tightens the range of the
values that users can pass into the kernel effectively preventing
{under,over}flows.
- Misc fixes
Correct grammar errors and typos in test messages. Update sysctl
files in MAINTAINERS. Constified and removed array size in
declaration for alignment_tbl
* tag 'sysctl-6.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl: (22 commits)
selftests/sysctl: fix wording of help messages
selftests: fix spelling/grammar errors in sysctl/sysctl.sh
MAINTAINERS: Update sysctl file list in MAINTAINERS
sysctl: Fix underflow value setting risk in vm_table
coredump: Fixes core_pipe_limit sysctl proc_handler
sysctl: remove unneeded include
sysctl: remove the vm_table
sh: vdso: move the sysctl to arch/sh/kernel/vsyscall/vsyscall.c
x86: vdso: move the sysctl to arch/x86/entry/vdso/vdso32-setup.c
fs: dcache: move the sysctl to fs/dcache.c
sunrpc: simplify rpcauth_cache_shrink_count()
fs: drop_caches: move sysctl to fs/drop_caches.c
fs: fs-writeback: move sysctl to fs/fs-writeback.c
mm: nommu: move sysctl to mm/nommu.c
security: min_addr: move sysctl to security/min_addr.c
mm: mmap: move sysctl to mm/mmap.c
mm: util: move sysctls to mm/util.c
mm: vmscan: move vmscan sysctls to mm/vmscan.c
mm: swap: move sysctl to mm/swap.c
mm: filemap: move sysctl to mm/filemap.c
...
This commit is contained in:
44
mm/vmstat.c
44
mm/vmstat.c
@@ -31,8 +31,10 @@
|
||||
|
||||
#include "internal.h"
|
||||
|
||||
#ifdef CONFIG_PROC_FS
|
||||
#ifdef CONFIG_NUMA
|
||||
int sysctl_vm_numa_stat = ENABLE_NUMA_STAT;
|
||||
#define ENABLE_NUMA_STAT 1
|
||||
static int sysctl_vm_numa_stat = ENABLE_NUMA_STAT;
|
||||
|
||||
/* zero numa counters within a zone */
|
||||
static void zero_zone_numa_counters(struct zone *zone)
|
||||
@@ -74,7 +76,7 @@ static void invalid_numa_statistics(void)
|
||||
|
||||
static DEFINE_MUTEX(vm_numa_stat_lock);
|
||||
|
||||
int sysctl_vm_numa_stat_handler(const struct ctl_table *table, int write,
|
||||
static int sysctl_vm_numa_stat_handler(const struct ctl_table *table, int write,
|
||||
void *buffer, size_t *length, loff_t *ppos)
|
||||
{
|
||||
int ret, oldval;
|
||||
@@ -102,6 +104,7 @@ out:
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
#endif /* CONFIG_PROC_FS */
|
||||
|
||||
#ifdef CONFIG_VM_EVENT_COUNTERS
|
||||
DEFINE_PER_CPU(struct vm_event_state, vm_event_states) = {{0}};
|
||||
@@ -1940,7 +1943,7 @@ static const struct seq_operations vmstat_op = {
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
static DEFINE_PER_CPU(struct delayed_work, vmstat_work);
|
||||
int sysctl_stat_interval __read_mostly = HZ;
|
||||
static int sysctl_stat_interval __read_mostly = HZ;
|
||||
static int vmstat_late_init_done;
|
||||
|
||||
#ifdef CONFIG_PROC_FS
|
||||
@@ -1949,7 +1952,7 @@ static void refresh_vm_stats(struct work_struct *work)
|
||||
refresh_cpu_vm_stats(true);
|
||||
}
|
||||
|
||||
int vmstat_refresh(const struct ctl_table *table, int write,
|
||||
static int vmstat_refresh(const struct ctl_table *table, int write,
|
||||
void *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
long val;
|
||||
@@ -2198,6 +2201,38 @@ static int __init vmstat_late_init(void)
|
||||
late_initcall(vmstat_late_init);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PROC_FS
|
||||
static const struct ctl_table vmstat_table[] = {
|
||||
#ifdef CONFIG_SMP
|
||||
{
|
||||
.procname = "stat_interval",
|
||||
.data = &sysctl_stat_interval,
|
||||
.maxlen = sizeof(sysctl_stat_interval),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_jiffies,
|
||||
},
|
||||
{
|
||||
.procname = "stat_refresh",
|
||||
.data = NULL,
|
||||
.maxlen = 0,
|
||||
.mode = 0600,
|
||||
.proc_handler = vmstat_refresh,
|
||||
},
|
||||
#endif
|
||||
#ifdef CONFIG_NUMA
|
||||
{
|
||||
.procname = "numa_stat",
|
||||
.data = &sysctl_vm_numa_stat,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = sysctl_vm_numa_stat_handler,
|
||||
.extra1 = SYSCTL_ZERO,
|
||||
.extra2 = SYSCTL_ONE,
|
||||
},
|
||||
#endif
|
||||
};
|
||||
#endif
|
||||
|
||||
struct workqueue_struct *mm_percpu_wq;
|
||||
|
||||
void __init init_mm_internals(void)
|
||||
@@ -2229,6 +2264,7 @@ void __init init_mm_internals(void)
|
||||
proc_create_seq("pagetypeinfo", 0400, NULL, &pagetypeinfo_op);
|
||||
proc_create_seq("vmstat", 0444, NULL, &vmstat_op);
|
||||
proc_create_seq("zoneinfo", 0444, NULL, &zoneinfo_op);
|
||||
register_sysctl_init("vm", vmstat_table);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user