summaryrefslogtreecommitdiffstats
path: root/lib/test_sysctl.c
diff options
context:
space:
mode:
authorLuis R. Rodriguez <mcgrof@kernel.org>2017-07-12 14:33:52 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2017-07-12 16:26:00 -0700
commiteb965eda1cabf26e62afc07a06cdf2fd5aaa2906 (patch)
treeb5b38008a45447eefe8450f73de0b441dce11f70 /lib/test_sysctl.c
parent1c0357c846452add7c2c863ec372010e3d2ca943 (diff)
downloadlinux-eb965eda1cabf26e62afc07a06cdf2fd5aaa2906.tar.gz
linux-eb965eda1cabf26e62afc07a06cdf2fd5aaa2906.tar.bz2
linux-eb965eda1cabf26e62afc07a06cdf2fd5aaa2906.zip
test_sysctl: add simple proc_dointvec() case
Test against a simple proc_dointvec() case. While at it, add a test against INT_MAX. Make sure INT_MAX works, and INT_MAX+1 will fail. Also test negative values work. Link: http://lkml.kernel.org/r/20170630224431.17374-5-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 b2163bfb6eb2..1472e1ae4931 100644
--- a/lib/test_sysctl.c
+++ b/lib/test_sysctl.c
@@ -41,11 +41,15 @@ static int i_one_hundred = 100;
struct test_sysctl_data {
int int_0001;
+ int int_0002;
+
char string_0001[65];
};
static struct test_sysctl_data test_data = {
.int_0001 = 60,
+ .int_0002 = 1,
+
.string_0001 = "(none)",
};
@@ -61,6 +65,13 @@ static struct ctl_table test_table[] = {
.extra2 = &i_one_hundred,
},
{
+ .procname = "int_0002",
+ .data = &test_data.int_0002,
+ .maxlen = sizeof(int),
+ .mode = 0644,
+ .proc_handler = proc_dointvec,
+ },
+ {
.procname = "string_0001",
.data = &test_data.string_0001,
.maxlen = sizeof(test_data.string_0001),