summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmerigo Wang <amwang@redhat.com>2009-12-14 17:59:52 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2010-01-06 15:04:31 -0800
commit3ec268a6828ccc37a15e62a7836433b081342345 (patch)
tree06ee72f21a5e3bc18b2e337e6c42fab52c4b00c8
parent0399123f3dcce1a515d021107ec0fb4413ca3efa (diff)
'sysctl_max_map_count' should be non-negative
commit 70da2340fbc68e91e701762f785479ab495a0869 upstream. Jan Engelhardt reported we have this problem: setting max_map_count to a value large enough results in programs dying at first try. This is on 2.6.31.6: 15:59 borg:/proc/sys/vm # echo $[1<<31-1] >max_map_count 15:59 borg:/proc/sys/vm # cat max_map_count 1073741824 15:59 borg:/proc/sys/vm # echo $[1<<31] >max_map_count 15:59 borg:/proc/sys/vm # cat max_map_count Killed This is because we have a chance to make 'max_map_count' negative. but it's meaningless. Make it only accept non-negative values. Reported-by: Jan Engelhardt <jengelh@medozas.de> Signed-off-by: WANG Cong <amwang@redhat.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: James Morris <jmorris@namei.org> Cc: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--kernel/sysctl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index db23ab7e56c0..3928c04965f0 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -1607,7 +1607,8 @@ static struct ctl_table debug_table[] = {
.data = &show_unhandled_signals,
.maxlen = sizeof(int),
.mode = 0644,
- .proc_handler = proc_dointvec
+ .proc_handler = proc_dointvec,
+ .extra1 = &zero,
},
#endif
{ .ctl_name = 0 }