summaryrefslogtreecommitdiffstats
path: root/lib/test_sysctl.c
diff options
context:
space:
mode:
authorLuis R. Rodriguez <mcgrof@kernel.org>2017-07-12 23:33:55 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2017-07-13 01:26:00 +0200
commit2920fad3a5d394b66011c7f35c7b05278354055e (patch)
tree70e445d6cffd910679f1349d64f683cc01f3839e /lib/test_sysctl.c
parenttest_sysctl: add simple proc_dointvec() case (diff)
downloadlinux-2920fad3a5d394b66011c7f35c7b05278354055e.tar.xz
linux-2920fad3a5d394b66011c7f35c7b05278354055e.zip
test_sysctl: add simple proc_douintvec() case
Test against a simple proc_douintvec() case. While at it, add a test against UINT_MAX. Make sure UINT_MAX works, and UINT_MAX+1 will fail and that negative values are not accepted. Link: http://lkml.kernel.org/r/20170630224431.17374-6-mcgrof@kernel.org Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org> Cc: Kees Cook <keescook@chromium.org> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Shuah Khan <shuah@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib/test_sysctl.c')
-rw-r--r--lib/test_sysctl.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/test_sysctl.c b/lib/test_sysctl.c
index 1472e1ae4931..53db3513ab08 100644
--- a/lib/test_sysctl.c
+++ b/lib/test_sysctl.c
@@ -43,6 +43,8 @@ struct test_sysctl_data {
int int_0001;
int int_0002;
+ unsigned int uint_0001;
+
char string_0001[65];
};
@@ -50,6 +52,8 @@ static struct test_sysctl_data test_data = {
.int_0001 = 60,
.int_0002 = 1,
+ .uint_0001 = 314,
+
.string_0001 = "(none)",
};
@@ -72,6 +76,13 @@ static struct ctl_table test_table[] = {
.proc_handler = proc_dointvec,
},
{
+ .procname = "uint_0001",
+ .data = &test_data.uint_0001,
+ .maxlen = sizeof(unsigned int),
+ .mode = 0644,
+ .proc_handler = proc_douintvec,
+ },
+ {
.procname = "string_0001",
.data = &test_data.string_0001,
.maxlen = sizeof(test_data.string_0001),