diff options
Diffstat (limited to 'kernel/sysctl.c')
-rw-r--r-- | kernel/sysctl.c | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index ab462b9968d5..58be76017fd0 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c | |||
@@ -49,6 +49,7 @@ | |||
49 | #include <linux/acpi.h> | 49 | #include <linux/acpi.h> |
50 | #include <linux/reboot.h> | 50 | #include <linux/reboot.h> |
51 | #include <linux/ftrace.h> | 51 | #include <linux/ftrace.h> |
52 | #include <linux/security.h> | ||
52 | #include <linux/slow-work.h> | 53 | #include <linux/slow-work.h> |
53 | #include <linux/perf_counter.h> | 54 | #include <linux/perf_counter.h> |
54 | 55 | ||
@@ -335,7 +336,10 @@ static struct ctl_table kern_table[] = { | |||
335 | .data = &sysctl_timer_migration, | 336 | .data = &sysctl_timer_migration, |
336 | .maxlen = sizeof(unsigned int), | 337 | .maxlen = sizeof(unsigned int), |
337 | .mode = 0644, | 338 | .mode = 0644, |
338 | .proc_handler = &proc_dointvec, | 339 | .proc_handler = &proc_dointvec_minmax, |
340 | .strategy = &sysctl_intvec, | ||
341 | .extra1 = &zero, | ||
342 | .extra2 = &one, | ||
339 | }, | 343 | }, |
340 | #endif | 344 | #endif |
341 | { | 345 | { |
@@ -744,6 +748,14 @@ static struct ctl_table kern_table[] = { | |||
744 | .proc_handler = &proc_dointvec, | 748 | .proc_handler = &proc_dointvec, |
745 | }, | 749 | }, |
746 | { | 750 | { |
751 | .ctl_name = CTL_UNNUMBERED, | ||
752 | .procname = "panic_on_io_nmi", | ||
753 | .data = &panic_on_io_nmi, | ||
754 | .maxlen = sizeof(int), | ||
755 | .mode = 0644, | ||
756 | .proc_handler = &proc_dointvec, | ||
757 | }, | ||
758 | { | ||
747 | .ctl_name = KERN_BOOTLOADER_TYPE, | 759 | .ctl_name = KERN_BOOTLOADER_TYPE, |
748 | .procname = "bootloader_type", | 760 | .procname = "bootloader_type", |
749 | .data = &bootloader_type, | 761 | .data = &bootloader_type, |
@@ -1295,10 +1307,10 @@ static struct ctl_table vm_table[] = { | |||
1295 | { | 1307 | { |
1296 | .ctl_name = CTL_UNNUMBERED, | 1308 | .ctl_name = CTL_UNNUMBERED, |
1297 | .procname = "mmap_min_addr", | 1309 | .procname = "mmap_min_addr", |
1298 | .data = &mmap_min_addr, | 1310 | .data = &dac_mmap_min_addr, |
1299 | .maxlen = sizeof(unsigned long), | 1311 | .maxlen = sizeof(unsigned long), |
1300 | .mode = 0644, | 1312 | .mode = 0644, |
1301 | .proc_handler = &proc_doulongvec_minmax, | 1313 | .proc_handler = &mmap_min_addr_handler, |
1302 | }, | 1314 | }, |
1303 | #ifdef CONFIG_NUMA | 1315 | #ifdef CONFIG_NUMA |
1304 | { | 1316 | { |
@@ -2283,7 +2295,7 @@ static int __do_proc_dointvec(void *tbl_data, struct ctl_table *table, | |||
2283 | void *data) | 2295 | void *data) |
2284 | { | 2296 | { |
2285 | #define TMPBUFLEN 21 | 2297 | #define TMPBUFLEN 21 |
2286 | int *i, vleft, first=1, neg, val; | 2298 | int *i, vleft, first = 1, neg; |
2287 | unsigned long lval; | 2299 | unsigned long lval; |
2288 | size_t left, len; | 2300 | size_t left, len; |
2289 | 2301 | ||
@@ -2336,8 +2348,6 @@ static int __do_proc_dointvec(void *tbl_data, struct ctl_table *table, | |||
2336 | len = p-buf; | 2348 | len = p-buf; |
2337 | if ((len < left) && *p && !isspace(*p)) | 2349 | if ((len < left) && *p && !isspace(*p)) |
2338 | break; | 2350 | break; |
2339 | if (neg) | ||
2340 | val = -val; | ||
2341 | s += len; | 2351 | s += len; |
2342 | left -= len; | 2352 | left -= len; |
2343 | 2353 | ||