diff options
Diffstat (limited to 'kernel/sysctl.c')
| -rw-r--r-- | kernel/sysctl.c | 29 | 
1 files changed, 24 insertions, 5 deletions
| diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 9edcf456e0f..07f6fc468e1 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -120,7 +120,6 @@ extern int blk_iopoll_enabled;  /* Constants used for minimum and  maximum */  #ifdef CONFIG_LOCKUP_DETECTOR  static int sixty = 60; -static int neg_one = -1;  #endif  static int zero; @@ -600,6 +599,13 @@ static struct ctl_table kern_table[] = {  		.mode		= 0644,  		.proc_handler	= proc_dointvec,  	}, +	{ +		.procname	= "traceoff_on_warning", +		.data		= &__disable_trace_on_warning, +		.maxlen		= sizeof(__disable_trace_on_warning), +		.mode		= 0644, +		.proc_handler	= proc_dointvec, +	},  #endif  #ifdef CONFIG_MODULES  	{ @@ -801,7 +807,7 @@ static struct ctl_table kern_table[] = {  #if defined(CONFIG_LOCKUP_DETECTOR)  	{  		.procname       = "watchdog", -		.data           = &watchdog_enabled, +		.data           = &watchdog_user_enabled,  		.maxlen         = sizeof (int),  		.mode           = 0644,  		.proc_handler   = proc_dowatchdog, @@ -814,7 +820,7 @@ static struct ctl_table kern_table[] = {  		.maxlen		= sizeof(int),  		.mode		= 0644,  		.proc_handler	= proc_dowatchdog, -		.extra1		= &neg_one, +		.extra1		= &zero,  		.extra2		= &sixty,  	},  	{ @@ -828,7 +834,7 @@ static struct ctl_table kern_table[] = {  	},  	{  		.procname       = "nmi_watchdog", -		.data           = &watchdog_enabled, +		.data           = &watchdog_user_enabled,  		.maxlen         = sizeof (int),  		.mode           = 0644,  		.proc_handler   = proc_dowatchdog, @@ -1044,6 +1050,15 @@ static struct ctl_table kern_table[] = {  		.mode		= 0644,  		.proc_handler	= perf_proc_update_handler,  	}, +	{ +		.procname	= "perf_cpu_time_max_percent", +		.data		= &sysctl_perf_cpu_time_max_percent, +		.maxlen		= sizeof(sysctl_perf_cpu_time_max_percent), +		.mode		= 0644, +		.proc_handler	= perf_cpu_time_max_percent_handler, +		.extra1		= &zero, +		.extra2		= &one_hundred, +	},  #endif  #ifdef CONFIG_KMEMCHECK  	{ @@ -2331,7 +2346,11 @@ static int do_proc_dointvec_ms_jiffies_conv(bool *negp, unsigned long *lvalp,  					    int write, void *data)  {  	if (write) { -		*valp = msecs_to_jiffies(*negp ? -*lvalp : *lvalp); +		unsigned long jif = msecs_to_jiffies(*negp ? -*lvalp : *lvalp); + +		if (jif > INT_MAX) +			return 1; +		*valp = (int)jif;  	} else {  		int val = *valp;  		unsigned long lval; | 
