[tip:tmp.tmp2 291/364] lib/test_sysctl.c:74:25: error: array type has incomplete element type 'struct ctl_table'

From: kernel test robot
Date: Mon Jun 14 2021 - 00:19:14 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git tmp.tmp2
head: adcceb5eb7aee38e4a9c15bdf599655f0e1b1324
commit: 6601f8679da18dd112f11e39486b163d4ad976e2 [291/364] sched/headers, fs: Simplify <linux/fs.h> header dependencies
config: x86_64-kexec (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=6601f8679da18dd112f11e39486b163d4ad976e2
git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
git fetch --no-tags tip tmp.tmp2
git checkout 6601f8679da18dd112f11e39486b163d4ad976e2
# save the attached .config to linux build tree
make W=1 ARCH=x86_64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from include/linux/xarray.h:16,
from include/linux/fs.h:12,
from lib/test_sysctl.c:31:
include/linux/rcuwait.h: In function 'rcuwait_active':
include/linux/rcupdate.h:364:9: error: dereferencing pointer to incomplete type 'struct task_struct'
364 | typeof(*p) *_________p1 = (typeof(*p) *__force)READ_ONCE(p); \
| ^
include/linux/rcupdate.h:474:31: note: in expansion of macro '__rcu_access_pointer'
474 | #define rcu_access_pointer(p) __rcu_access_pointer((p), __rcu)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/rcuwait.h:33:11: note: in expansion of macro 'rcu_access_pointer'
33 | return !!rcu_access_pointer(w->task);
| ^~~~~~~~~~~~~~~~~~
lib/test_sysctl.c: At top level:
>> lib/test_sysctl.c:74:25: error: array type has incomplete element type 'struct ctl_table'
74 | static struct ctl_table test_table[] = {
| ^~~~~~~~~~
>> lib/test_sysctl.c:76:3: error: field name not in record or union initializer
76 | .procname = "int_0001",
| ^
lib/test_sysctl.c:76:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:77:3: error: field name not in record or union initializer
77 | .data = &test_data.int_0001,
| ^
lib/test_sysctl.c:77:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:78:3: error: field name not in record or union initializer
78 | .maxlen = sizeof(int),
| ^
lib/test_sysctl.c:78:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:79:3: error: field name not in record or union initializer
79 | .mode = 0644,
| ^
lib/test_sysctl.c:79:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:80:3: error: field name not in record or union initializer
80 | .proc_handler = proc_dointvec_minmax,
| ^
lib/test_sysctl.c:80:3: note: (near initialization for 'test_table')
>> lib/test_sysctl.c:80:19: error: 'proc_dointvec_minmax' undeclared here (not in a function)
80 | .proc_handler = proc_dointvec_minmax,
| ^~~~~~~~~~~~~~~~~~~~
lib/test_sysctl.c:81:3: error: field name not in record or union initializer
81 | .extra1 = &i_zero,
| ^
lib/test_sysctl.c:81:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:82:3: error: field name not in record or union initializer
82 | .extra2 = &i_one_hundred,
| ^
lib/test_sysctl.c:82:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:85:3: error: field name not in record or union initializer
85 | .procname = "int_0002",
| ^
lib/test_sysctl.c:85:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:86:3: error: field name not in record or union initializer
86 | .data = &test_data.int_0002,
| ^
lib/test_sysctl.c:86:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:87:3: error: field name not in record or union initializer
87 | .maxlen = sizeof(int),
| ^
lib/test_sysctl.c:87:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:88:3: error: field name not in record or union initializer
88 | .mode = 0644,
| ^
lib/test_sysctl.c:88:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:89:3: error: field name not in record or union initializer
89 | .proc_handler = proc_dointvec,
| ^
lib/test_sysctl.c:89:3: note: (near initialization for 'test_table')
>> lib/test_sysctl.c:89:19: error: 'proc_dointvec' undeclared here (not in a function)
89 | .proc_handler = proc_dointvec,
| ^~~~~~~~~~~~~
lib/test_sysctl.c:92:3: error: field name not in record or union initializer
92 | .procname = "int_0003",
| ^
lib/test_sysctl.c:92:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:93:3: error: field name not in record or union initializer
93 | .data = &test_data.int_0003,
| ^
lib/test_sysctl.c:93:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:94:3: error: field name not in record or union initializer
94 | .maxlen = sizeof(test_data.int_0003),
| ^
lib/test_sysctl.c:94:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:95:3: error: field name not in record or union initializer
95 | .mode = 0644,
| ^
lib/test_sysctl.c:95:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:96:3: error: field name not in record or union initializer
96 | .proc_handler = proc_dointvec,
| ^
lib/test_sysctl.c:96:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:99:3: error: field name not in record or union initializer
99 | .procname = "boot_int",
| ^
lib/test_sysctl.c:99:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:100:3: error: field name not in record or union initializer
100 | .data = &test_data.boot_int,
| ^
lib/test_sysctl.c:100:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:101:3: error: field name not in record or union initializer
101 | .maxlen = sizeof(test_data.boot_int),
| ^
lib/test_sysctl.c:101:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:102:3: error: field name not in record or union initializer
102 | .mode = 0644,
| ^
lib/test_sysctl.c:102:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:103:3: error: field name not in record or union initializer
103 | .proc_handler = proc_dointvec,
| ^
lib/test_sysctl.c:103:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:104:3: error: field name not in record or union initializer
104 | .extra1 = SYSCTL_ZERO,
| ^
lib/test_sysctl.c:104:3: note: (near initialization for 'test_table')
>> lib/test_sysctl.c:104:14: error: 'SYSCTL_ZERO' undeclared here (not in a function)
104 | .extra1 = SYSCTL_ZERO,
| ^~~~~~~~~~~
lib/test_sysctl.c:105:3: error: field name not in record or union initializer
105 | .extra2 = SYSCTL_ONE,
| ^
lib/test_sysctl.c:105:3: note: (near initialization for 'test_table')
>> lib/test_sysctl.c:105:21: error: 'SYSCTL_ONE' undeclared here (not in a function)
105 | .extra2 = SYSCTL_ONE,
| ^~~~~~~~~~
lib/test_sysctl.c:108:3: error: field name not in record or union initializer
108 | .procname = "uint_0001",
| ^
lib/test_sysctl.c:108:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:109:3: error: field name not in record or union initializer
109 | .data = &test_data.uint_0001,
| ^
lib/test_sysctl.c:109:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:110:3: error: field name not in record or union initializer
110 | .maxlen = sizeof(unsigned int),
| ^
lib/test_sysctl.c:110:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:111:3: error: field name not in record or union initializer
111 | .mode = 0644,
| ^
lib/test_sysctl.c:111:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:112:3: error: field name not in record or union initializer
112 | .proc_handler = proc_douintvec,
| ^
lib/test_sysctl.c:112:3: note: (near initialization for 'test_table')
>> lib/test_sysctl.c:112:19: error: 'proc_douintvec' undeclared here (not in a function)
112 | .proc_handler = proc_douintvec,
| ^~~~~~~~~~~~~~
lib/test_sysctl.c:115:3: error: field name not in record or union initializer
115 | .procname = "string_0001",
| ^
lib/test_sysctl.c:115:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:116:3: error: field name not in record or union initializer
116 | .data = &test_data.string_0001,
| ^
lib/test_sysctl.c:116:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:117:3: error: field name not in record or union initializer
117 | .maxlen = sizeof(test_data.string_0001),
| ^
lib/test_sysctl.c:117:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:118:3: error: field name not in record or union initializer
118 | .mode = 0644,
| ^
lib/test_sysctl.c:118:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:119:3: error: field name not in record or union initializer
119 | .proc_handler = proc_dostring,
| ^
lib/test_sysctl.c:119:3: note: (near initialization for 'test_table')
>> lib/test_sysctl.c:119:19: error: 'proc_dostring' undeclared here (not in a function)
119 | .proc_handler = proc_dostring,
| ^~~~~~~~~~~~~
lib/test_sysctl.c:122:3: error: field name not in record or union initializer
122 | .procname = "bitmap_0001",
| ^
lib/test_sysctl.c:122:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:123:3: error: field name not in record or union initializer
123 | .data = &test_data.bitmap_0001,
| ^
lib/test_sysctl.c:123:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:124:3: error: field name not in record or union initializer
124 | .maxlen = SYSCTL_TEST_BITMAP_SIZE,
| ^
lib/test_sysctl.c:124:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:125:3: error: field name not in record or union initializer
125 | .mode = 0644,
| ^
lib/test_sysctl.c:125:3: note: (near initialization for 'test_table')
lib/test_sysctl.c:126:3: error: field name not in record or union initializer
126 | .proc_handler = proc_do_large_bitmap,
| ^
lib/test_sysctl.c:126:3: note: (near initialization for 'test_table')
>> lib/test_sysctl.c:126:19: error: 'proc_do_large_bitmap' undeclared here (not in a function)
126 | .proc_handler = proc_do_large_bitmap,
| ^~~~~~~~~~~~~~~~~~~~
lib/test_sysctl.c:131:25: error: array type has incomplete element type 'struct ctl_table'
131 | static struct ctl_table test_sysctl_table[] = {
| ^~~~~~~~~~~~~~~~~
lib/test_sysctl.c:133:3: error: field name not in record or union initializer
133 | .procname = "test_sysctl",
| ^
lib/test_sysctl.c:133:3: note: (near initialization for 'test_sysctl_table')
lib/test_sysctl.c:134:3: error: field name not in record or union initializer
134 | .maxlen = 0,
| ^
lib/test_sysctl.c:134:3: note: (near initialization for 'test_sysctl_table')
lib/test_sysctl.c:135:3: error: field name not in record or union initializer
135 | .mode = 0555,
| ^
lib/test_sysctl.c:135:3: note: (near initialization for 'test_sysctl_table')
lib/test_sysctl.c:136:3: error: field name not in record or union initializer
136 | .child = test_table,
| ^
lib/test_sysctl.c:136:3: note: (near initialization for 'test_sysctl_table')
lib/test_sysctl.c:141:25: error: array type has incomplete element type 'struct ctl_table'
141 | static struct ctl_table test_sysctl_root_table[] = {
| ^~~~~~~~~~~~~~~~~~~~~~
lib/test_sysctl.c:143:3: error: field name not in record or union initializer
143 | .procname = "debug",
| ^
lib/test_sysctl.c:143:3: note: (near initialization for 'test_sysctl_root_table')
lib/test_sysctl.c:144:3: error: field name not in record or union initializer
144 | .maxlen = 0,
| ^
lib/test_sysctl.c:144:3: note: (near initialization for 'test_sysctl_root_table')
lib/test_sysctl.c:145:3: error: field name not in record or union initializer
145 | .mode = 0555,
| ^
lib/test_sysctl.c:145:3: note: (near initialization for 'test_sysctl_root_table')
lib/test_sysctl.c:146:3: error: field name not in record or union initializer
146 | .child = test_sysctl_table,
| ^
lib/test_sysctl.c:146:3: note: (near initialization for 'test_sysctl_root_table')
lib/test_sysctl.c: In function 'test_sysctl_init':
>> lib/test_sysctl.c:158:23: error: implicit declaration of function 'register_sysctl_table' [-Werror=implicit-function-declaration]
158 | test_sysctl_header = register_sysctl_table(test_sysctl_root_table);
| ^~~~~~~~~~~~~~~~~~~~~
lib/test_sysctl.c: In function 'test_sysctl_exit':
>> lib/test_sysctl.c:171:3: error: implicit declaration of function 'unregister_sysctl_table' [-Werror=implicit-function-declaration]
171 | unregister_sysctl_table(test_sysctl_header);
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/uaccess.h:11,
from lib/test_sysctl.c:34:
lib/test_sysctl.c: At top level:
arch/x86/include/asm/uaccess.h:46:20: warning: 'pagefault_disabled' used but never defined
46 | static inline bool pagefault_disabled(void);
| ^~~~~~~~~~~~~~~~~~
lib/test_sysctl.c:141:25: warning: 'test_sysctl_root_table' defined but not used [-Wunused-variable]
141 | static struct ctl_table test_sysctl_root_table[] = {
| ^~~~~~~~~~~~~~~~~~~~~~
lib/test_sysctl.c:131:25: warning: 'test_sysctl_table' defined but not used [-Wunused-variable]
131 | static struct ctl_table test_sysctl_table[] = {
| ^~~~~~~~~~~~~~~~~
lib/test_sysctl.c:74:25: warning: 'test_table' defined but not used [-Wunused-variable]
74 | static struct ctl_table test_table[] = {
| ^~~~~~~~~~
cc1: some warnings being treated as errors


vim +74 lib/test_sysctl.c

9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 72
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 73 /* These are all under /proc/sys/debug/test_sysctl/ */
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 @74 static struct ctl_table test_table[] = {
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 75 {
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 @76 .procname = "int_0001",
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 77 .data = &test_data.int_0001,
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 78 .maxlen = sizeof(int),
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 79 .mode = 0644,
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 @80 .proc_handler = proc_dointvec_minmax,
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 81 .extra1 = &i_zero,
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 82 .extra2 = &i_one_hundred,
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 83 },
eb965eda1cabf2 Luis R. Rodriguez 2017-07-12 84 {
eb965eda1cabf2 Luis R. Rodriguez 2017-07-12 85 .procname = "int_0002",
eb965eda1cabf2 Luis R. Rodriguez 2017-07-12 86 .data = &test_data.int_0002,
eb965eda1cabf2 Luis R. Rodriguez 2017-07-12 87 .maxlen = sizeof(int),
eb965eda1cabf2 Luis R. Rodriguez 2017-07-12 88 .mode = 0644,
eb965eda1cabf2 Luis R. Rodriguez 2017-07-12 @89 .proc_handler = proc_dointvec,
eb965eda1cabf2 Luis R. Rodriguez 2017-07-12 90 },
7c43a657a4bead Luis R. Rodriguez 2017-07-12 91 {
7c43a657a4bead Luis R. Rodriguez 2017-07-12 92 .procname = "int_0003",
7c43a657a4bead Luis R. Rodriguez 2017-07-12 93 .data = &test_data.int_0003,
7c43a657a4bead Luis R. Rodriguez 2017-07-12 94 .maxlen = sizeof(test_data.int_0003),
7c43a657a4bead Luis R. Rodriguez 2017-07-12 95 .mode = 0644,
7c43a657a4bead Luis R. Rodriguez 2017-07-12 96 .proc_handler = proc_dointvec,
7c43a657a4bead Luis R. Rodriguez 2017-07-12 97 },
4f2f682d89d83f Vlastimil Babka 2020-06-07 98 {
4f2f682d89d83f Vlastimil Babka 2020-06-07 99 .procname = "boot_int",
4f2f682d89d83f Vlastimil Babka 2020-06-07 100 .data = &test_data.boot_int,
4f2f682d89d83f Vlastimil Babka 2020-06-07 101 .maxlen = sizeof(test_data.boot_int),
4f2f682d89d83f Vlastimil Babka 2020-06-07 102 .mode = 0644,
4f2f682d89d83f Vlastimil Babka 2020-06-07 103 .proc_handler = proc_dointvec,
4f2f682d89d83f Vlastimil Babka 2020-06-07 @104 .extra1 = SYSCTL_ZERO,
4f2f682d89d83f Vlastimil Babka 2020-06-07 @105 .extra2 = SYSCTL_ONE,
4f2f682d89d83f Vlastimil Babka 2020-06-07 106 },
2920fad3a5d394 Luis R. Rodriguez 2017-07-12 107 {
2920fad3a5d394 Luis R. Rodriguez 2017-07-12 108 .procname = "uint_0001",
2920fad3a5d394 Luis R. Rodriguez 2017-07-12 109 .data = &test_data.uint_0001,
2920fad3a5d394 Luis R. Rodriguez 2017-07-12 110 .maxlen = sizeof(unsigned int),
2920fad3a5d394 Luis R. Rodriguez 2017-07-12 111 .mode = 0644,
2920fad3a5d394 Luis R. Rodriguez 2017-07-12 @112 .proc_handler = proc_douintvec,
2920fad3a5d394 Luis R. Rodriguez 2017-07-12 113 },
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 114 {
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 115 .procname = "string_0001",
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 116 .data = &test_data.string_0001,
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 117 .maxlen = sizeof(test_data.string_0001),
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 118 .mode = 0644,
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 @119 .proc_handler = proc_dostring,
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 120 },
2ea622b887e744 Eric Sandeen 2019-05-14 121 {
2ea622b887e744 Eric Sandeen 2019-05-14 122 .procname = "bitmap_0001",
2ea622b887e744 Eric Sandeen 2019-05-14 123 .data = &test_data.bitmap_0001,
2ea622b887e744 Eric Sandeen 2019-05-14 124 .maxlen = SYSCTL_TEST_BITMAP_SIZE,
2ea622b887e744 Eric Sandeen 2019-05-14 125 .mode = 0644,
2ea622b887e744 Eric Sandeen 2019-05-14 @126 .proc_handler = proc_do_large_bitmap,
2ea622b887e744 Eric Sandeen 2019-05-14 127 },
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 128 { }
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 129 };
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 130
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 131 static struct ctl_table test_sysctl_table[] = {
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 132 {
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 133 .procname = "test_sysctl",
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 134 .maxlen = 0,
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 135 .mode = 0555,
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 136 .child = test_table,
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 137 },
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 138 { }
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 139 };
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 140
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 141 static struct ctl_table test_sysctl_root_table[] = {
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 142 {
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 143 .procname = "debug",
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 144 .maxlen = 0,
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 145 .mode = 0555,
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 146 .child = test_sysctl_table,
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 147 },
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 148 { }
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 149 };
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 150
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 151 static struct ctl_table_header *test_sysctl_header;
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 152
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 153 static int __init test_sysctl_init(void)
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 154 {
2ea622b887e744 Eric Sandeen 2019-05-14 155 test_data.bitmap_0001 = kzalloc(SYSCTL_TEST_BITMAP_SIZE/8, GFP_KERNEL);
2ea622b887e744 Eric Sandeen 2019-05-14 156 if (!test_data.bitmap_0001)
2ea622b887e744 Eric Sandeen 2019-05-14 157 return -ENOMEM;
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 @158 test_sysctl_header = register_sysctl_table(test_sysctl_root_table);
2ea622b887e744 Eric Sandeen 2019-05-14 159 if (!test_sysctl_header) {
2ea622b887e744 Eric Sandeen 2019-05-14 160 kfree(test_data.bitmap_0001);
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 161 return -ENOMEM;
2ea622b887e744 Eric Sandeen 2019-05-14 162 }
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 163 return 0;
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 164 }
2f56f84511367c Masami Hiramatsu 2020-05-28 165 module_init(test_sysctl_init);
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 166
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 167 static void __exit test_sysctl_exit(void)
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 168 {
2ea622b887e744 Eric Sandeen 2019-05-14 169 kfree(test_data.bitmap_0001);
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 170 if (test_sysctl_header)
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 @171 unregister_sysctl_table(test_sysctl_header);
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 172 }
9308f2f9e7f055 Luis R. Rodriguez 2017-07-12 173

:::::: The code at line 74 was first introduced by commit
:::::: 9308f2f9e7f055cf3934645ec622bb5259dc1c14 test_sysctl: add dedicated proc sysctl test driver

:::::: TO: Luis R. Rodriguez <mcgrof@xxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip