diff options
Diffstat (limited to 'kernel/sysctl.c')
| -rw-r--r-- | kernel/sysctl.c | 39 | 
1 files changed, 14 insertions, 25 deletions
| diff --git a/kernel/sysctl.c b/kernel/sysctl.c index ae5cbb1e3ced..56f6fc1178ae 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -24,6 +24,7 @@  #include <linux/slab.h>  #include <linux/sysctl.h>  #include <linux/signal.h> +#include <linux/printk.h>  #include <linux/proc_fs.h>  #include <linux/security.h>  #include <linux/ctype.h> @@ -169,7 +170,8 @@ static int proc_taint(struct ctl_table *table, int write,  #endif  #ifdef CONFIG_MAGIC_SYSRQ -static int __sysrq_enabled; /* Note: sysrq code ises it's own private copy */ +/* Note: sysrq code uses it's own private copy */ +static int __sysrq_enabled = SYSRQ_DEFAULT_ENABLE;  static int sysrq_sysctl_handler(ctl_table *table, int write,  				void __user *buffer, size_t *lenp, @@ -245,10 +247,6 @@ static struct ctl_table root_table[] = {  		.mode		= 0555,  		.child		= dev_table,  	}, -/* - * NOTE: do not add new entries to this table unless you have read - * Documentation/sysctl/ctl_unnumbered.txt - */  	{ }  }; @@ -710,6 +708,15 @@ static struct ctl_table kern_table[] = {  		.extra1		= &zero,  		.extra2		= &one,  	}, +	{ +		.procname	= "kptr_restrict", +		.data		= &kptr_restrict, +		.maxlen		= sizeof(int), +		.mode		= 0644, +		.proc_handler	= proc_dointvec_minmax, +		.extra1		= &zero, +		.extra2		= &two, +	},  #endif  	{  		.procname	= "ngroups_max", @@ -962,10 +969,6 @@ static struct ctl_table kern_table[] = {  		.proc_handler	= proc_dointvec,  	},  #endif -/* - * NOTE: do not add new entries to this table unless you have read - * Documentation/sysctl/ctl_unnumbered.txt - */  	{ }  }; @@ -1326,11 +1329,6 @@ static struct ctl_table vm_table[] = {  		.extra2		= &one,  	},  #endif - -/* - * NOTE: do not add new entries to this table unless you have read - * Documentation/sysctl/ctl_unnumbered.txt - */  	{ }  }; @@ -1486,10 +1484,6 @@ static struct ctl_table fs_table[] = {  		.proc_handler	= &pipe_proc_fn,  		.extra1		= &pipe_min_size,  	}, -/* - * NOTE: do not add new entries to this table unless you have read - * Documentation/sysctl/ctl_unnumbered.txt - */  	{ }  }; @@ -1691,13 +1685,8 @@ static int test_perm(int mode, int op)  int sysctl_perm(struct ctl_table_root *root, struct ctl_table *table, int op)  { -	int error;  	int mode; -	error = security_sysctl(table, op & (MAY_READ | MAY_WRITE | MAY_EXEC)); -	if (error) -		return error; -  	if (root->permissions)  		mode = root->permissions(root, current->nsproxy, table);  	else @@ -2899,7 +2888,7 @@ int proc_do_large_bitmap(struct ctl_table *table, int write,  	}  } -#else /* CONFIG_PROC_FS */ +#else /* CONFIG_PROC_SYSCTL */  int proc_dostring(struct ctl_table *table, int write,  		  void __user *buffer, size_t *lenp, loff_t *ppos) @@ -2951,7 +2940,7 @@ int proc_doulongvec_ms_jiffies_minmax(struct ctl_table *table, int write,  } -#endif /* CONFIG_PROC_FS */ +#endif /* CONFIG_PROC_SYSCTL */  /*   * No sense putting this after each symbol definition, twice, |