From: kernel test robot <lkp@intel.com> To: Ingo Molnar <mingo@kernel.org> Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org, x86@kernel.org Subject: [tip:tmp.tmp2 291/364] lib/test_sysctl.c:74:25: error: array type has incomplete element type 'struct ctl_table' Date: Mon, 14 Jun 2021 12:07:40 +0800 [thread overview] Message-ID: <202106141233.yph6M5wy-lkp@intel.com> (raw) [-- Attachment #1: Type: text/plain, Size: 22727 bytes --] 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@intel.com> 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@kernel.org> :::::: CC: Linus Torvalds <torvalds@linux-foundation.org> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 28760 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com> To: kbuild-all@lists.01.org Subject: [tip:tmp.tmp2 291/364] lib/test_sysctl.c:74:25: error: array type has incomplete element type 'struct ctl_table' Date: Mon, 14 Jun 2021 12:07:40 +0800 [thread overview] Message-ID: <202106141233.yph6M5wy-lkp@intel.com> (raw) [-- Attachment #1: Type: text/plain, Size: 23119 bytes --] 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@intel.com> 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@kernel.org> :::::: CC: Linus Torvalds <torvalds@linux-foundation.org> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org [-- Attachment #2: config.gz --] [-- Type: application/gzip, Size: 28760 bytes --]
next reply other threads:[~2021-06-14 4:08 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-06-14 4:07 kernel test robot [this message] 2021-06-14 4:07 ` [tip:tmp.tmp2 291/364] lib/test_sysctl.c:74:25: error: array type has incomplete element type 'struct ctl_table' kernel test robot
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=202106141233.yph6M5wy-lkp@intel.com \ --to=lkp@intel.com \ --cc=kbuild-all@lists.01.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mingo@kernel.org \ --cc=x86@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.