Hi Andrzej, I love your patch! Yet something to improve:
[auto build test ERROR on 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5] url: https://github.com/0day-ci/linux/commits/Andrzej-Pietrasiewicz/Add-configurable-handler-to-execute-a-compound-action/20200817-212944 base: 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5 config: powerpc-tqm8xx_defconfig (attached as .config) compiler: powerpc-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> All error/warnings (new ones prefixed by >>): >> drivers/tty/sysrq.c:1158:1: error: expected identifier or '(' before '{' >> token 1158 | { | ^ drivers/tty/sysrq.c: In function 'sysrq_action_compound': >> drivers/tty/sysrq.c:1163:1: error: expected '=', ',', ';', 'asm' or >> '__attribute__' before '{' token 1163 | { | ^ drivers/tty/sysrq.c:1167:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token 1167 | { | ^ drivers/tty/sysrq.c:1173:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token 1173 | { | ^ In file included from include/linux/linkage.h:7, from include/linux/kernel.h:8, from include/linux/list.h:9, from include/linux/rculist.h:10, from include/linux/sched/signal.h:5, from drivers/tty/sysrq.c:18: >> drivers/tty/sysrq.c:1187:19: error: storage class specified for parameter >> 'sysrq_toggle_support' 1187 | EXPORT_SYMBOL_GPL(sysrq_toggle_support); | ^~~~~~~~~~~~~~~~~~~~ include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL' 98 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL' 159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1187:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1187 | EXPORT_SYMBOL_GPL(sysrq_toggle_support); | ^~~~~~~~~~~~~~~~~ >> include/linux/export.h:99:20: error: storage class specified for parameter >> '__kstrtab_sysrq_toggle_support' 99 | extern const char __kstrtab_##sym[]; \ | ^~~~~~~~~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL' 159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1187:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1187 | EXPORT_SYMBOL_GPL(sysrq_toggle_support); | ^~~~~~~~~~~~~~~~~ >> include/linux/export.h:100:20: error: storage class specified for parameter >> '__kstrtabns_sysrq_toggle_support' 100 | extern const char __kstrtabns_##sym[]; \ | ^~~~~~~~~~~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL' 159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1187:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1187 | EXPORT_SYMBOL_GPL(sysrq_toggle_support); | ^~~~~~~~~~~~~~~~~ >> include/linux/export.h:101:24: error: expected declaration specifiers before >> ';' token 101 | __CRC_SYMBOL(sym, sec); \ | ^ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL' 159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1187:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1187 | EXPORT_SYMBOL_GPL(sysrq_toggle_support); | ^~~~~~~~~~~~~~~~~ >> include/linux/export.h:102:2: error: expected declaration specifiers before >> 'asm' 102 | asm(" .section \"__ksymtab_strings\",\"aMS\",%progbits,1 \n" \ | ^~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL' 159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1187:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1187 | EXPORT_SYMBOL_GPL(sysrq_toggle_support); | ^~~~~~~~~~~~~~~~~ include/linux/export.h:67:36: error: storage class specified for parameter '__ksymtab_sysrq_toggle_support' 67 | static const struct kernel_symbol __ksymtab_##sym \ | ^~~~~~~~~~ include/linux/export.h:108:2: note: in expansion of macro '__KSYMTAB_ENTRY' 108 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL' 159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1187:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1187 | EXPORT_SYMBOL_GPL(sysrq_toggle_support); | ^~~~~~~~~~~~~~~~~ >> include/linux/export.h:67:22: error: parameter >> '__ksymtab_sysrq_toggle_support' is initialized 67 | static const struct kernel_symbol __ksymtab_##sym \ | ^~~~~~~~~~~~~ include/linux/export.h:108:2: note: in expansion of macro '__KSYMTAB_ENTRY' 108 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL' 159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1187:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1187 | EXPORT_SYMBOL_GPL(sysrq_toggle_support); | ^~~~~~~~~~~~~~~~~ >> include/linux/export.h:67:36: error: section attribute not allowed for >> '__ksymtab_sysrq_toggle_support' 67 | static const struct kernel_symbol __ksymtab_##sym \ | ^~~~~~~~~~ include/linux/export.h:108:2: note: in expansion of macro '__KSYMTAB_ENTRY' 108 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL' 159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1187:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1187 | EXPORT_SYMBOL_GPL(sysrq_toggle_support); | ^~~~~~~~~~~~~~~~~ >> include/linux/export.h:67:22: warning: 'used' attribute ignored >> [-Wattributes] 67 | static const struct kernel_symbol __ksymtab_##sym \ | ^~~~~~~~~~~~~ include/linux/export.h:108:2: note: in expansion of macro '__KSYMTAB_ENTRY' 108 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL' 159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1187:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1187 | EXPORT_SYMBOL_GPL(sysrq_toggle_support); | ^~~~~~~~~~~~~~~~~ >> include/linux/export.h:67:36: error: alignment may not be specified for >> '__ksymtab_sysrq_toggle_support' 67 | static const struct kernel_symbol __ksymtab_##sym \ | ^~~~~~~~~~ include/linux/export.h:108:2: note: in expansion of macro '__KSYMTAB_ENTRY' 108 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL' 159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1187:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1187 | EXPORT_SYMBOL_GPL(sysrq_toggle_support); | ^~~~~~~~~~~~~~~~~ drivers/tty/sysrq.c:1191:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token 1191 | { | ^ drivers/tty/sysrq.c:1214:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token 1214 | { | ^ In file included from include/linux/linkage.h:7, from include/linux/kernel.h:8, from include/linux/list.h:9, from include/linux/rculist.h:10, from include/linux/sched/signal.h:5, from drivers/tty/sysrq.c:18: >> drivers/tty/sysrq.c:1217:15: error: storage class specified for parameter >> 'register_sysrq_key' 1217 | EXPORT_SYMBOL(register_sysrq_key); | ^~~~~~~~~~~~~~~~~~ include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL' 98 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:158:29: note: in expansion of macro '_EXPORT_SYMBOL' 158 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1217:1: note: in expansion of macro 'EXPORT_SYMBOL' 1217 | EXPORT_SYMBOL(register_sysrq_key); | ^~~~~~~~~~~~~ >> include/linux/export.h:99:20: error: storage class specified for parameter >> '__kstrtab_register_sysrq_key' 99 | extern const char __kstrtab_##sym[]; \ | ^~~~~~~~~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:158:29: note: in expansion of macro '_EXPORT_SYMBOL' 158 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1217:1: note: in expansion of macro 'EXPORT_SYMBOL' 1217 | EXPORT_SYMBOL(register_sysrq_key); | ^~~~~~~~~~~~~ >> include/linux/export.h:100:20: error: storage class specified for parameter >> '__kstrtabns_register_sysrq_key' 100 | extern const char __kstrtabns_##sym[]; \ | ^~~~~~~~~~~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:158:29: note: in expansion of macro '_EXPORT_SYMBOL' 158 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1217:1: note: in expansion of macro 'EXPORT_SYMBOL' 1217 | EXPORT_SYMBOL(register_sysrq_key); | ^~~~~~~~~~~~~ >> include/linux/export.h:101:24: error: expected declaration specifiers before >> ';' token 101 | __CRC_SYMBOL(sym, sec); \ | ^ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:158:29: note: in expansion of macro '_EXPORT_SYMBOL' 158 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1217:1: note: in expansion of macro 'EXPORT_SYMBOL' 1217 | EXPORT_SYMBOL(register_sysrq_key); | ^~~~~~~~~~~~~ >> include/linux/export.h:102:2: error: expected declaration specifiers before >> 'asm' 102 | asm(" .section \"__ksymtab_strings\",\"aMS\",%progbits,1 \n" \ | ^~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:158:29: note: in expansion of macro '_EXPORT_SYMBOL' 158 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1217:1: note: in expansion of macro 'EXPORT_SYMBOL' 1217 | EXPORT_SYMBOL(register_sysrq_key); | ^~~~~~~~~~~~~ include/linux/export.h:67:36: error: storage class specified for parameter '__ksymtab_register_sysrq_key' 67 | static const struct kernel_symbol __ksymtab_##sym \ | ^~~~~~~~~~ include/linux/export.h:108:2: note: in expansion of macro '__KSYMTAB_ENTRY' 108 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:158:29: note: in expansion of macro '_EXPORT_SYMBOL' 158 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1217:1: note: in expansion of macro 'EXPORT_SYMBOL' 1217 | EXPORT_SYMBOL(register_sysrq_key); | ^~~~~~~~~~~~~ >> include/linux/export.h:67:22: error: parameter >> '__ksymtab_register_sysrq_key' is initialized 67 | static const struct kernel_symbol __ksymtab_##sym \ | ^~~~~~~~~~~~~ include/linux/export.h:108:2: note: in expansion of macro '__KSYMTAB_ENTRY' 108 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:158:29: note: in expansion of macro '_EXPORT_SYMBOL' 158 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1217:1: note: in expansion of macro 'EXPORT_SYMBOL' 1217 | EXPORT_SYMBOL(register_sysrq_key); | ^~~~~~~~~~~~~ >> include/linux/export.h:67:36: error: section attribute not allowed for >> '__ksymtab_register_sysrq_key' 67 | static const struct kernel_symbol __ksymtab_##sym \ | ^~~~~~~~~~ include/linux/export.h:108:2: note: in expansion of macro '__KSYMTAB_ENTRY' 108 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:158:29: note: in expansion of macro '_EXPORT_SYMBOL' 158 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1217:1: note: in expansion of macro 'EXPORT_SYMBOL' 1217 | EXPORT_SYMBOL(register_sysrq_key); | ^~~~~~~~~~~~~ >> include/linux/export.h:67:22: warning: 'used' attribute ignored >> [-Wattributes] 67 | static const struct kernel_symbol __ksymtab_##sym \ | ^~~~~~~~~~~~~ include/linux/export.h:108:2: note: in expansion of macro '__KSYMTAB_ENTRY' 108 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:158:29: note: in expansion of macro '_EXPORT_SYMBOL' 158 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1217:1: note: in expansion of macro 'EXPORT_SYMBOL' 1217 | EXPORT_SYMBOL(register_sysrq_key); | ^~~~~~~~~~~~~ >> include/linux/export.h:67:36: error: alignment may not be specified for >> '__ksymtab_register_sysrq_key' 67 | static const struct kernel_symbol __ksymtab_##sym \ | ^~~~~~~~~~ include/linux/export.h:108:2: note: in expansion of macro '__KSYMTAB_ENTRY' 108 | __KSYMTAB_ENTRY(sym, sec) | ^~~~~~~~~~~~~~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:158:29: note: in expansion of macro '_EXPORT_SYMBOL' 158 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1217:1: note: in expansion of macro 'EXPORT_SYMBOL' 1217 | EXPORT_SYMBOL(register_sysrq_key); | ^~~~~~~~~~~~~ drivers/tty/sysrq.c:1220:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token 1220 | { | ^ In file included from include/linux/linkage.h:7, from include/linux/kernel.h:8, from include/linux/list.h:9, from include/linux/rculist.h:10, from include/linux/sched/signal.h:5, from drivers/tty/sysrq.c:18: drivers/tty/sysrq.c:1223:15: error: storage class specified for parameter 'unregister_sysrq_key' 1223 | EXPORT_SYMBOL(unregister_sysrq_key); | ^~~~~~~~~~~~~~~~~~~~ include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL' 98 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:158:29: note: in expansion of macro '_EXPORT_SYMBOL' 158 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1223:1: note: in expansion of macro 'EXPORT_SYMBOL' 1223 | EXPORT_SYMBOL(unregister_sysrq_key); | ^~~~~~~~~~~~~ include/linux/export.h:99:20: error: storage class specified for parameter '__kstrtab_unregister_sysrq_key' 99 | extern const char __kstrtab_##sym[]; \ | ^~~~~~~~~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:158:29: note: in expansion of macro '_EXPORT_SYMBOL' 158 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1223:1: note: in expansion of macro 'EXPORT_SYMBOL' 1223 | EXPORT_SYMBOL(unregister_sysrq_key); | ^~~~~~~~~~~~~ include/linux/export.h:100:20: error: storage class specified for parameter '__kstrtabns_unregister_sysrq_key' 100 | extern const char __kstrtabns_##sym[]; \ | ^~~~~~~~~~~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:158:29: note: in expansion of macro '_EXPORT_SYMBOL' 158 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1223:1: note: in expansion of macro 'EXPORT_SYMBOL' 1223 | EXPORT_SYMBOL(unregister_sysrq_key); | ^~~~~~~~~~~~~ include/linux/export.h:101:24: error: expected declaration specifiers before ';' token 101 | __CRC_SYMBOL(sym, sec); \ | ^ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:158:29: note: in expansion of macro '_EXPORT_SYMBOL' 158 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1223:1: note: in expansion of macro 'EXPORT_SYMBOL' 1223 | EXPORT_SYMBOL(unregister_sysrq_key); | ^~~~~~~~~~~~~ include/linux/export.h:102:2: error: expected declaration specifiers before 'asm' 102 | asm(" .section \"__ksymtab_strings\",\"aMS\",%progbits,1 \n" \ | ^~~ include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL' 147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns) | ^~~~~~~~~~~~~~~~ include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL' 155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:158:29: note: in expansion of macro '_EXPORT_SYMBOL' 158 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ drivers/tty/sysrq.c:1223:1: note: in expansion of macro 'EXPORT_SYMBOL' 1223 | EXPORT_SYMBOL(unregister_sysrq_key); # https://github.com/0day-ci/linux/commit/1e30be974437c14ffdccaf1af02f5b6911ec1468 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Andrzej-Pietrasiewicz/Add-configurable-handler-to-execute-a-compound-action/20200817-212944 git checkout 1e30be974437c14ffdccaf1af02f5b6911ec1468 vim +1158 drivers/tty/sysrq.c 1157 > 1158 { 1159 } 1160 > 1161 static void sysrq_action_compound(int key) 1162 static inline void sysrq_register_handler(void) > 1163 { 1164 } 1165 1166 static inline void sysrq_unregister_handler(void) 1167 { 1168 } 1169 1170 #endif /* CONFIG_INPUT */ 1171 1172 int sysrq_toggle_support(int enable_mask) 1173 { 1174 bool was_enabled = sysrq_on(); 1175 1176 sysrq_enabled = enable_mask; 1177 1178 if (was_enabled != sysrq_on()) { 1179 if (sysrq_on()) 1180 sysrq_register_handler(); 1181 else 1182 sysrq_unregister_handler(); 1183 } 1184 1185 return 0; 1186 } > 1187 EXPORT_SYMBOL_GPL(sysrq_toggle_support); 1188 1189 static int __sysrq_swap_key_ops(int key, const struct sysrq_key_op *insert_op_p, 1190 const struct sysrq_key_op *remove_op_p) 1191 { 1192 int retval; 1193 1194 spin_lock(&sysrq_key_table_lock); 1195 if (__sysrq_get_key_op(key) == remove_op_p) { 1196 __sysrq_put_key_op(key, insert_op_p); 1197 retval = 0; 1198 } else { 1199 retval = -1; 1200 } 1201 spin_unlock(&sysrq_key_table_lock); 1202 1203 /* 1204 * A concurrent __handle_sysrq either got the old op or the new op. 1205 * Wait for it to go away before returning, so the code for an old 1206 * op is not freed (eg. on module unload) while it is in use. 1207 */ 1208 synchronize_rcu(); 1209 1210 return retval; 1211 } 1212 1213 int register_sysrq_key(int key, const struct sysrq_key_op *op_p) 1214 { 1215 return __sysrq_swap_key_ops(key, op_p, NULL); 1216 } > 1217 EXPORT_SYMBOL(register_sysrq_key); 1218 1219 int unregister_sysrq_key(int key, const struct sysrq_key_op *op_p) 1220 { 1221 return __sysrq_swap_key_ops(key, NULL, op_p); 1222 } > 1223 EXPORT_SYMBOL(unregister_sysrq_key); 1224 1225 #ifdef CONFIG_PROC_FS 1226 /* 1227 * writing 'C' to /proc/sysrq-trigger is like sysrq-C 1228 */ 1229 static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf, 1230 size_t count, loff_t *ppos) 1231 { 1232 if (count) { 1233 char c; 1234 1235 if (get_user(c, buf)) 1236 return -EFAULT; 1237 __handle_sysrq(c, false); 1238 } 1239 1240 return count; 1241 } 1242 > 1243 static const struct proc_ops sysrq_trigger_proc_ops = { > 1244 .proc_write = write_sysrq_trigger, 1245 .proc_lseek = noop_llseek, 1246 }; 1247 1248 static void sysrq_init_procfs(void) 1249 { 1250 if (!proc_create("sysrq-trigger", S_IWUSR, NULL, 1251 &sysrq_trigger_proc_ops)) 1252 pr_err("Failed to register proc interface\n"); 1253 } 1254 1255 #else 1256 1257 static inline void sysrq_init_procfs(void) 1258 { 1259 } 1260 1261 #endif /* CONFIG_PROC_FS */ 1262 1263 static int __init sysrq_init(void) 1264 { 1265 sysrq_init_procfs(); 1266 1267 if (sysrq_on()) 1268 sysrq_register_handler(); 1269 1270 return 0; 1271 } > 1272 device_initcall(sysrq_init); --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip