tree: https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git kspp/memcpy/next-20210618/v0 head: fd2aa2a169de8bde9502e7a2fc48cd03d4bfd996 commit: 21405e341f4b8742f8c6d8b91ad39348d7cf970f [58/82] fortify: Detect struct member overflows in memcpy() config: powerpc64-randconfig-r004-20210618 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project d1baf2895467735ab14f4b3415fce204c0cc8e7f) 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 # install powerpc64 cross compiling tool for clang build # apt-get install binutils-powerpc64-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/commit/?id=21405e341f4b8742f8c6d8b91ad39348d7cf970f git remote add kees https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git git fetch --no-tags kees kspp/memcpy/next-20210618/v0 git checkout 21405e341f4b8742f8c6d8b91ad39348d7cf970f # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): >> lib/string_helpers.c:883:6: warning: no previous prototype for function '__read_overflow2_field' [-Wmissing-prototypes] void __read_overflow2_field(void) { } ^ lib/string_helpers.c:883:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void __read_overflow2_field(void) { } ^ static >> lib/string_helpers.c:885:6: warning: no previous prototype for function '__write_overflow_field' [-Wmissing-prototypes] void __write_overflow_field(void) { } ^ lib/string_helpers.c:885:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void __write_overflow_field(void) { } ^ static >> lib/string_helpers.c:889:6: warning: no previous prototype for function 'fortify_warn_write' [-Wmissing-prototypes] void fortify_warn_write(const char *func, size_t buffer_size, size_t write_size) ^ lib/string_helpers.c:889:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void fortify_warn_write(const char *func, size_t buffer_size, size_t write_size) ^ static lib/string_helpers.c:896:6: warning: no previous prototype for function 'fortify_panic' [-Wmissing-prototypes] void fortify_panic(const char *name) ^ lib/string_helpers.c:896:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void fortify_panic(const char *name) ^ static 4 warnings generated. vim +/__read_overflow2_field +883 lib/string_helpers.c 881 882 /* These are placeholders for fortify compile-time warnings. */ > 883 void __read_overflow2_field(void) { } 884 EXPORT_SYMBOL(__read_overflow2_field); > 885 void __write_overflow_field(void) { } 886 EXPORT_SYMBOL(__write_overflow_field); 887 888 /* Run-time warnings */ > 889 void fortify_warn_write(const char *func, size_t buffer_size, size_t write_size) 890 { 891 WARN_ONCE(1, "%s: detected buffer (size %zu) overflowing write (size %zu)\n", 892 func, buffer_size, write_size); 893 } 894 EXPORT_SYMBOL(fortify_warn_write); 895 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org