Hi Nhat, I love your patch! Yet something to improve: [auto build test ERROR on shuah-kselftest/next] [also build test ERROR on shuah-kselftest/fixes tip/x86/asm arnd-asm-generic/master linus/master v6.1-rc5 next-20221115] [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/Nhat-Pham/cachestat-a-new-syscall-for-page-cache-state-of-files/20221116-023042 base: https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git next patch link: https://lore.kernel.org/r/20221115182901.2755368-4-nphamcs%40gmail.com patch subject: [PATCH 3/4] cachestat: implement cachestat syscall config: um-i386_defconfig compiler: gcc-11 (Debian 11.3.0-8) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel-lab-lkp/linux/commit/e0d55eece256958cfaec0dd2842bf0edced26150 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Nhat-Pham/cachestat-a-new-syscall-for-page-cache-state-of-files/20221116-023042 git checkout e0d55eece256958cfaec0dd2842bf0edced26150 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=um SUBARCH=i386 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 mm/cachestat.c:8: include/linux/syscalls.h:1060:16: warning: 'struct cachestat' declared inside parameter list will not be visible outside of this definition or declaration 1060 | struct cachestat __user *ret_cstat); | ^~~~~~~~~ In file included from mm/cachestat.c:8: >> include/linux/syscalls.h:242:25: error: conflicting types for 'sys_cachestat'; have 'long int(unsigned int, off_t, size_t, struct cachestat *)' {aka 'long int(unsigned int, long int, unsigned int, struct cachestat *)'} 242 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~ include/linux/syscalls.h:228:9: note: in expansion of macro '__SYSCALL_DEFINEx' 228 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:220:36: note: in expansion of macro 'SYSCALL_DEFINEx' 220 | #define SYSCALL_DEFINE4(name, ...) SYSCALL_DEFINEx(4, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ mm/cachestat.c:37:1: note: in expansion of macro 'SYSCALL_DEFINE4' 37 | SYSCALL_DEFINE4(cachestat, unsigned int, fd, off_t, off, size_t, len, | ^~~~~~~~~~~~~~~ In file included from mm/cachestat.c:8: include/linux/syscalls.h:1059:17: note: previous declaration of 'sys_cachestat' with type 'long int(unsigned int, off_t, size_t, struct cachestat *)' {aka 'long int(unsigned int, long int, unsigned int, struct cachestat *)'} 1059 | asmlinkage long sys_cachestat(unsigned int fd, off_t off, size_t len, | ^~~~~~~~~~~~~ vim +242 include/linux/syscalls.h 1bd21c6c21e8489 Dominik Brodowski 2018-04-05 231 e145242ea0df6b7 Dominik Brodowski 2018-04-09 232 /* e145242ea0df6b7 Dominik Brodowski 2018-04-09 233 * The asmlinkage stub is aliased to a function named __se_sys_*() which e145242ea0df6b7 Dominik Brodowski 2018-04-09 234 * sign-extends 32-bit ints to longs whenever needed. The actual work is e145242ea0df6b7 Dominik Brodowski 2018-04-09 235 * done within __do_sys_*(). e145242ea0df6b7 Dominik Brodowski 2018-04-09 236 */ 1bd21c6c21e8489 Dominik Brodowski 2018-04-05 237 #ifndef __SYSCALL_DEFINEx bed1ffca022cc87 Frederic Weisbecker 2009-03-13 238 #define __SYSCALL_DEFINEx(x, name, ...) \ bee20031772af3d Arnd Bergmann 2018-06-19 239 __diag_push(); \ bee20031772af3d Arnd Bergmann 2018-06-19 240 __diag_ignore(GCC, 8, "-Wattribute-alias", \ bee20031772af3d Arnd Bergmann 2018-06-19 241 "Type aliasing is used to sanitize syscall arguments");\ 83460ec8dcac141 Andi Kleen 2013-11-12 @242 asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ e145242ea0df6b7 Dominik Brodowski 2018-04-09 243 __attribute__((alias(__stringify(__se_sys##name)))); \ c9a211951c7c79c Howard McLauchlan 2018-03-21 244 ALLOW_ERROR_INJECTION(sys##name, ERRNO); \ e145242ea0df6b7 Dominik Brodowski 2018-04-09 245 static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ e145242ea0df6b7 Dominik Brodowski 2018-04-09 246 asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ e145242ea0df6b7 Dominik Brodowski 2018-04-09 247 asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ 1a94bc34768e463 Heiko Carstens 2009-01-14 248 { \ e145242ea0df6b7 Dominik Brodowski 2018-04-09 249 long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\ 07fe6e00f6cca6f Al Viro 2013-01-21 250 __MAP(x,__SC_TEST,__VA_ARGS__); \ 2cf0966683430b6 Al Viro 2013-01-21 251 __PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__)); \ 2cf0966683430b6 Al Viro 2013-01-21 252 return ret; \ 1a94bc34768e463 Heiko Carstens 2009-01-14 253 } \ bee20031772af3d Arnd Bergmann 2018-06-19 254 __diag_pop(); \ e145242ea0df6b7 Dominik Brodowski 2018-04-09 255 static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) 1bd21c6c21e8489 Dominik Brodowski 2018-04-05 256 #endif /* __SYSCALL_DEFINEx */ 1a94bc34768e463 Heiko Carstens 2009-01-14 257 -- 0-DAY CI Kernel Test Service https://01.org/lkp