test_sysctl: test against int proc_dointvec() array support

Add a few initial respective tests for an array:

  o Echoing values separated by spaces works
  o Echoing only first elements will set first elements
  o Confirm PAGE_SIZE limit still applies even if an array is used

Link: http://lkml.kernel.org/r/20170630224431.17374-7-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>
This commit is contained in:
Luis R. Rodriguez
2017-07-12 14:33:58 -07:00
committed by Linus Torvalds
parent 2920fad3a5
commit 7c43a657a4
2 changed files with 102 additions and 0 deletions

View File

@@ -42,6 +42,7 @@ static int i_one_hundred = 100;
struct test_sysctl_data {
int int_0001;
int int_0002;
int int_0003[4];
unsigned int uint_0001;
@@ -52,6 +53,11 @@ static struct test_sysctl_data test_data = {
.int_0001 = 60,
.int_0002 = 1,
.int_0003[0] = 0,
.int_0003[1] = 1,
.int_0003[2] = 2,
.int_0003[3] = 3,
.uint_0001 = 314,
.string_0001 = "(none)",
@@ -75,6 +81,13 @@ static struct ctl_table test_table[] = {
.mode = 0644,
.proc_handler = proc_dointvec,
},
{
.procname = "int_0003",
.data = &test_data.int_0003,
.maxlen = sizeof(test_data.int_0003),
.mode = 0644,
.proc_handler = proc_dointvec,
},
{
.procname = "uint_0001",
.data = &test_data.uint_0001,