Skip to content

Commit

Permalink
Revert "sysctl: add and use base directory declarer and registration …
Browse files Browse the repository at this point in the history
…helper"

This reverts commit f00ff38.
  • Loading branch information
Stephen Rothwell committed Nov 30, 2021
1 parent 37004ed commit 39f48dc
Showing 3 changed files with 31 additions and 42 deletions.
9 changes: 0 additions & 9 deletions fs/proc/proc_sysctl.c
Original file line number Diff line number Diff line change
@@ -1647,15 +1647,6 @@ struct ctl_table_header *register_sysctl_table(struct ctl_table *table)
}
EXPORT_SYMBOL(register_sysctl_table);

int __register_sysctl_base(struct ctl_table *base_table)
{
struct ctl_table_header *hdr;

hdr = register_sysctl_table(base_table);
kmemleak_not_leak(hdr);
return 0;
}

static void put_links(struct ctl_table_header *header)
{
struct ctl_table_set *root_set = &sysctl_table_root.default_set;
23 changes: 0 additions & 23 deletions include/linux/sysctl.h
Original file line number Diff line number Diff line change
@@ -194,19 +194,6 @@ struct ctl_path {

#ifdef CONFIG_SYSCTL

#define DECLARE_SYSCTL_BASE(_name, _table) \
static struct ctl_table _name##_base_table[] = { \
{ \
.procname = #_name, \
.mode = 0555, \
.child = _table, \
}, \
}

extern int __register_sysctl_base(struct ctl_table *base_table);

#define register_sysctl_base(_name) __register_sysctl_base(_name##_base_table)

void proc_sys_poll_notify(struct ctl_table_poll *poll);

extern void setup_sysctl_set(struct ctl_table_set *p,
@@ -249,16 +236,6 @@ extern int no_unaligned_warning;
extern struct ctl_table sysctl_mount_point[];

#else /* CONFIG_SYSCTL */

#define DECLARE_SYSCTL_BASE(_name, _table)

static inline int __register_sysctl_base(struct ctl_table *base_table)
{
return 0;
}

#define register_sysctl_base(table) __register_sysctl_base(table)

static inline struct ctl_table_header *register_sysctl_table(struct ctl_table * table)
{
return NULL;
41 changes: 31 additions & 10 deletions kernel/sysctl.c
Original file line number Diff line number Diff line change
@@ -2850,20 +2850,41 @@ static struct ctl_table dev_table[] = {
{ }
};

DECLARE_SYSCTL_BASE(kernel, kern_table);
DECLARE_SYSCTL_BASE(vm, vm_table);
DECLARE_SYSCTL_BASE(fs, fs_table);
DECLARE_SYSCTL_BASE(debug, debug_table);
DECLARE_SYSCTL_BASE(dev, dev_table);
static struct ctl_table sysctl_base_table[] = {
{
.procname = "kernel",
.mode = 0555,
.child = kern_table,
},
{
.procname = "vm",
.mode = 0555,
.child = vm_table,
},
{
.procname = "fs",
.mode = 0555,
.child = fs_table,
},
{
.procname = "debug",
.mode = 0555,
.child = debug_table,
},
{
.procname = "dev",
.mode = 0555,
.child = dev_table,
},
{ }
};

int __init sysctl_init(void)
{
register_sysctl_base(kernel);
register_sysctl_base(vm);
register_sysctl_base(fs);
register_sysctl_base(debug);
register_sysctl_base(dev);
struct ctl_table_header *hdr;

hdr = register_sysctl_table(sysctl_base_table);
kmemleak_not_leak(hdr);
return 0;
}
#endif /* CONFIG_SYSCTL */

0 comments on commit 39f48dc

Please sign in to comment.