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...
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 <lkp(a)intel.com>
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@lists.01.org