Hi Casey, I love your patch! Yet something to improve: [auto build test ERROR on tip/perf/core] [also build test ERROR on acme/perf/core shuah-kselftest/next shuah-kselftest/fixes linus/master v6.2-rc1 next-20221226] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Casey-Schaufler/LSM-Maintain-a-table-of-LSM-attribute-data/20221230-083536 patch link: https://lore.kernel.org/r/20221229233454.43880-6-casey%40schaufler-ca.com patch subject: [PATCH v4 5/8] LSM: Create lsm_module_list system call config: alpha-allyesconfig compiler: alpha-linux-gcc (GCC) 12.1.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 # https://github.com/intel-lab-lkp/linux/commit/3f40956aff1c833d5e073bde2e1c284c482eaafe git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Casey-Schaufler/LSM-Maintain-a-table-of-LSM-attribute-data/20221230-083536 git checkout 3f40956aff1c833d5e073bde2e1c284c482eaafe # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=alpha olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=alpha SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from security/lsm_syscalls.c:15: include/linux/syscalls.h:243:25: error: conflicting types for 'sys_lsm_get_self_attr'; have 'long int(struct lsm_ctx *, __kernel_size_t *, __u32)' {aka 'long int(struct lsm_ctx *, long unsigned int *, unsigned int)'} 243 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:220:36: note: in expansion of macro 'SYSCALL_DEFINEx' 220 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ security/lsm_syscalls.c:61:1: note: in expansion of macro 'SYSCALL_DEFINE3' 61 | SYSCALL_DEFINE3(lsm_get_self_attr, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:1062:17: note: previous declaration of 'sys_lsm_get_self_attr' with type 'long int(struct lsm_ctx *, size_t *, int)' {aka 'long int(struct lsm_ctx *, long unsigned int *, int)'} 1062 | asmlinkage long sys_lsm_get_self_attr(struct lsm_ctx *ctx, size_t *size, | ^~~~~~~~~~~~~~~~~~~~~ >> include/linux/syscalls.h:243:25: error: conflicting types for 'sys_lsm_module_list'; have 'long int(__u32 *, size_t *, __u64)' {aka 'long int(unsigned int *, long unsigned int *, long long unsigned int)'} 243 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:220:36: note: in expansion of macro 'SYSCALL_DEFINEx' 220 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ security/lsm_syscalls.c:197:1: note: in expansion of macro 'SYSCALL_DEFINE3' 197 | SYSCALL_DEFINE3(lsm_module_list, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:1064:17: note: previous declaration of 'sys_lsm_module_list' with type 'long int(u32 *, size_t *, int)' {aka 'long int(unsigned int *, long unsigned int *, int)'} 1064 | asmlinkage long sys_lsm_module_list(u32 *ids, size_t *size, int flags); | ^~~~~~~~~~~~~~~~~~~ vim +243 include/linux/syscalls.h 1bd21c6c21e848 Dominik Brodowski 2018-04-05 232 e145242ea0df6b Dominik Brodowski 2018-04-09 233 /* e145242ea0df6b Dominik Brodowski 2018-04-09 234 * The asmlinkage stub is aliased to a function named __se_sys_*() which e145242ea0df6b Dominik Brodowski 2018-04-09 235 * sign-extends 32-bit ints to longs whenever needed. The actual work is e145242ea0df6b Dominik Brodowski 2018-04-09 236 * done within __do_sys_*(). e145242ea0df6b Dominik Brodowski 2018-04-09 237 */ 1bd21c6c21e848 Dominik Brodowski 2018-04-05 238 #ifndef __SYSCALL_DEFINEx bed1ffca022cc8 Frederic Weisbecker 2009-03-13 239 #define __SYSCALL_DEFINEx(x, name, ...) \ bee20031772af3 Arnd Bergmann 2018-06-19 240 __diag_push(); \ bee20031772af3 Arnd Bergmann 2018-06-19 241 __diag_ignore(GCC, 8, "-Wattribute-alias", \ bee20031772af3 Arnd Bergmann 2018-06-19 242 "Type aliasing is used to sanitize syscall arguments");\ 83460ec8dcac14 Andi Kleen 2013-11-12 @243 asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ e145242ea0df6b Dominik Brodowski 2018-04-09 244 __attribute__((alias(__stringify(__se_sys##name)))); \ c9a211951c7c79 Howard McLauchlan 2018-03-21 245 ALLOW_ERROR_INJECTION(sys##name, ERRNO); \ e145242ea0df6b Dominik Brodowski 2018-04-09 246 static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ e145242ea0df6b Dominik Brodowski 2018-04-09 247 asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ e145242ea0df6b Dominik Brodowski 2018-04-09 248 asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ 1a94bc34768e46 Heiko Carstens 2009-01-14 249 { \ e145242ea0df6b Dominik Brodowski 2018-04-09 250 long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\ 07fe6e00f6cca6 Al Viro 2013-01-21 251 __MAP(x,__SC_TEST,__VA_ARGS__); \ 2cf0966683430b Al Viro 2013-01-21 252 __PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__)); \ 2cf0966683430b Al Viro 2013-01-21 253 return ret; \ 1a94bc34768e46 Heiko Carstens 2009-01-14 254 } \ bee20031772af3 Arnd Bergmann 2018-06-19 255 __diag_pop(); \ e145242ea0df6b Dominik Brodowski 2018-04-09 256 static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) 1bd21c6c21e848 Dominik Brodowski 2018-04-05 257 #endif /* __SYSCALL_DEFINEx */ 1a94bc34768e46 Heiko Carstens 2009-01-14 258 -- 0-DAY CI Kernel Test Service https://01.org/lkp