Hi Andrzej, I love your patch! Yet something to improve: [auto build test ERROR on bcf876870b95592b52519ed4aafcf9d95999bc9c] url: https://github.com/0day-ci/linux/commits/Andrzej-Pietrasiewicz/Add-configurable-handler-to-execute-a-compound-action/20210929-183114 base: bcf876870b95592b52519ed4aafcf9d95999bc9c config: um-x86_64_defconfig (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=1 build): # https://github.com/0day-ci/linux/commit/c2e145de22842a121477d2c3dbe2bca210434138 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/20210929-183114 git checkout c2e145de22842a121477d2c3dbe2bca210434138 # save the attached .config to linux build tree mkdir build_dir make W=1 O=build_dir ARCH=um SUBARCH=x86_64 SHELL=/bin/bash drivers/tty/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All error/warnings (new ones prefixed by >>): cc1: warning: arch/um/include/uapi: No such file or directory [-Wmissing-include-dirs] >> drivers/tty/sysrq.c:1159:1: error: expected identifier or '(' before '{' token 1159 | { | ^ drivers/tty/sysrq.c: In function 'sysrq_action_compound': >> drivers/tty/sysrq.c:1164:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token 1164 | { | ^ drivers/tty/sysrq.c:1168:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token 1168 | { | ^ drivers/tty/sysrq.c:1174:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token 1174 | { | ^ 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:1188:19: error: storage class specified for parameter 'sysrq_toggle_support' 1188 | 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:1188:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1188 | 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:1188:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1188 | 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:1188:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1188 | 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:1188:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1188 | 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:1188:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1188 | 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:1188:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1188 | 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:1188:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1188 | 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:1188:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1188 | 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:1188:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1188 | 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:1188:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 1188 | EXPORT_SYMBOL_GPL(sysrq_toggle_support); | ^~~~~~~~~~~~~~~~~ drivers/tty/sysrq.c:1192:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token 1192 | { | ^ drivers/tty/sysrq.c:1215:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token 1215 | { | ^ 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:1218:15: error: storage class specified for parameter 'register_sysrq_key' 1218 | 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:1218:1: note: in expansion of macro 'EXPORT_SYMBOL' 1218 | 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:1218:1: note: in expansion of macro 'EXPORT_SYMBOL' 1218 | 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:1218:1: note: in expansion of macro 'EXPORT_SYMBOL' 1218 | 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:1218:1: note: in expansion of macro 'EXPORT_SYMBOL' 1218 | 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:1218:1: note: in expansion of macro 'EXPORT_SYMBOL' 1218 | 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:1218:1: note: in expansion of macro 'EXPORT_SYMBOL' 1218 | 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:1218:1: note: in expansion of macro 'EXPORT_SYMBOL' 1218 | 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:1218:1: note: in expansion of macro 'EXPORT_SYMBOL' 1218 | 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:1218:1: note: in expansion of macro 'EXPORT_SYMBOL' 1218 | 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:1218:1: note: in expansion of macro 'EXPORT_SYMBOL' 1218 | EXPORT_SYMBOL(register_sysrq_key); | ^~~~~~~~~~~~~ drivers/tty/sysrq.c:1221:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token 1221 | { | ^ 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:1224:15: error: storage class specified for parameter 'unregister_sysrq_key' 1224 | 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:1224:1: note: in expansion of macro 'EXPORT_SYMBOL' 1224 | 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:1224:1: note: in expansion of macro 'EXPORT_SYMBOL' 1224 | 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:1224:1: note: in expansion of macro 'EXPORT_SYMBOL' 1224 | 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:1224:1: note: in expansion of macro 'EXPORT_SYMBOL' 1224 | 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:1224:1: note: in expansion of macro 'EXPORT_SYMBOL' 1224 | EXPORT_SYMBOL(unregister_sysrq_key); vim +1159 drivers/tty/sysrq.c 1158 > 1159 { 1160 } 1161 > 1162 static void sysrq_action_compound(int key) 1163 static inline void sysrq_register_handler(void) > 1164 { 1165 } 1166 1167 static inline void sysrq_unregister_handler(void) 1168 { 1169 } 1170 1171 #endif /* CONFIG_INPUT */ 1172 1173 int sysrq_toggle_support(int enable_mask) 1174 { 1175 bool was_enabled = sysrq_on(); 1176 1177 sysrq_enabled = enable_mask; 1178 1179 if (was_enabled != sysrq_on()) { 1180 if (sysrq_on()) 1181 sysrq_register_handler(); 1182 else 1183 sysrq_unregister_handler(); 1184 } 1185 1186 return 0; 1187 } > 1188 EXPORT_SYMBOL_GPL(sysrq_toggle_support); 1189 1190 static int __sysrq_swap_key_ops(int key, const struct sysrq_key_op *insert_op_p, 1191 const struct sysrq_key_op *remove_op_p) 1192 { 1193 int retval; 1194 1195 spin_lock(&sysrq_key_table_lock); 1196 if (__sysrq_get_key_op(key) == remove_op_p) { 1197 __sysrq_put_key_op(key, insert_op_p); 1198 retval = 0; 1199 } else { 1200 retval = -1; 1201 } 1202 spin_unlock(&sysrq_key_table_lock); 1203 1204 /* 1205 * A concurrent __handle_sysrq either got the old op or the new op. 1206 * Wait for it to go away before returning, so the code for an old 1207 * op is not freed (eg. on module unload) while it is in use. 1208 */ 1209 synchronize_rcu(); 1210 1211 return retval; 1212 } 1213 1214 int register_sysrq_key(int key, const struct sysrq_key_op *op_p) 1215 { 1216 return __sysrq_swap_key_ops(key, op_p, NULL); 1217 } > 1218 EXPORT_SYMBOL(register_sysrq_key); 1219 1220 int unregister_sysrq_key(int key, const struct sysrq_key_op *op_p) 1221 { 1222 return __sysrq_swap_key_ops(key, NULL, op_p); 1223 } > 1224 EXPORT_SYMBOL(unregister_sysrq_key); 1225 1226 #ifdef CONFIG_PROC_FS 1227 /* 1228 * writing 'C' to /proc/sysrq-trigger is like sysrq-C 1229 */ 1230 static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf, 1231 size_t count, loff_t *ppos) 1232 { 1233 if (count) { 1234 char c; 1235 1236 if (get_user(c, buf)) 1237 return -EFAULT; 1238 __handle_sysrq(c, false); 1239 } 1240 1241 return count; 1242 } 1243 > 1244 static const struct proc_ops sysrq_trigger_proc_ops = { > 1245 .proc_write = write_sysrq_trigger, 1246 .proc_lseek = noop_llseek, 1247 }; 1248 1249 static void sysrq_init_procfs(void) 1250 { 1251 if (!proc_create("sysrq-trigger", S_IWUSR, NULL, 1252 &sysrq_trigger_proc_ops)) 1253 pr_err("Failed to register proc interface\n"); 1254 } 1255 1256 #else 1257 1258 static inline void sysrq_init_procfs(void) 1259 { 1260 } 1261 1262 #endif /* CONFIG_PROC_FS */ 1263 1264 static int __init sysrq_init(void) 1265 { 1266 sysrq_init_procfs(); 1267 1268 if (sysrq_on()) 1269 sysrq_register_handler(); 1270 1271 return 0; 1272 } > 1273 device_initcall(sysrq_init); --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip