diff options
author | Luis R. Rodriguez <mcgrof@kernel.org> | 2017-07-12 17:33:52 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-07-12 19:26:00 -0400 |
commit | eb965eda1cabf26e62afc07a06cdf2fd5aaa2906 (patch) | |
tree | b5b38008a45447eefe8450f73de0b441dce11f70 /lib/test_sysctl.c | |
parent | 1c0357c846452add7c2c863ec372010e3d2ca943 (diff) |
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.c | 11 |
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; | |||
41 | 41 | ||
42 | struct test_sysctl_data { | 42 | struct test_sysctl_data { |
43 | int int_0001; | 43 | int int_0001; |
44 | int int_0002; | ||
45 | |||
44 | char string_0001[65]; | 46 | char string_0001[65]; |
45 | }; | 47 | }; |
46 | 48 | ||
47 | static struct test_sysctl_data test_data = { | 49 | static struct test_sysctl_data test_data = { |
48 | .int_0001 = 60, | 50 | .int_0001 = 60, |
51 | .int_0002 = 1, | ||
52 | |||
49 | .string_0001 = "(none)", | 53 | .string_0001 = "(none)", |
50 | }; | 54 | }; |
51 | 55 | ||
@@ -61,6 +65,13 @@ static struct ctl_table test_table[] = { | |||
61 | .extra2 = &i_one_hundred, | 65 | .extra2 = &i_one_hundred, |
62 | }, | 66 | }, |
63 | { | 67 | { |
68 | .procname = "int_0002", | ||
69 | .data = &test_data.int_0002, | ||
70 | .maxlen = sizeof(int), | ||
71 | .mode = 0644, | ||
72 | .proc_handler = proc_dointvec, | ||
73 | }, | ||
74 | { | ||
64 | .procname = "string_0001", | 75 | .procname = "string_0001", |
65 | .data = &test_data.string_0001, | 76 | .data = &test_data.string_0001, |
66 | .maxlen = sizeof(test_data.string_0001), | 77 | .maxlen = sizeof(test_data.string_0001), |