Hi Eduard, kernel test robot noticed the following build warnings: [auto build test WARNING on bpf-next/master] url: https://github.com/intel-lab-lkp/linux/commits/Eduard-Zingerman/bpf-use-scalar-ids-in-mark_chain_precision/20230613-001651 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master patch link: https://lore.kernel.org/r/20230612160801.2804666-4-eddyz87%40gmail.com patch subject: [PATCH bpf-next v5 3/4] bpf: verify scalar ids mapping in regsafe() using check_ids() config: x86_64-rhel-8.3-rust (https://download.01.org/0day-ci/archive/20230613/202306131550.U3M9AJGm-lkp@xxxxxxxxx/config) compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project.git 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a) reproduce (this is a W=1 build): mkdir -p ~/bin wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git remote add bpf-next https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git git fetch bpf-next master git checkout bpf-next/master b4 shazam https://lore.kernel.org/r/20230612160801.2804666-4-eddyz87@xxxxxxxxx # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash kernel/bpf/ If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202306131550.U3M9AJGm-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): In file included from kernel/bpf/verifier.c:7: In file included from include/linux/bpf-cgroup.h:5: In file included from include/linux/bpf.h:10: In file included from include/linux/workqueue.h:9: In file included from include/linux/timer.h:6: In file included from include/linux/ktime.h:24: In file included from include/linux/time.h:60: In file included from include/linux/time32.h:13: In file included from include/linux/timex.h:67: In file included from arch/x86/include/asm/timex.h:5: In file included from arch/x86/include/asm/processor.h:23: In file included from arch/x86/include/asm/msr.h:11: In file included from arch/x86/include/asm/cpumask.h:5: In file included from include/linux/cpumask.h:12: In file included from include/linux/bitmap.h:11: In file included from include/linux/string.h:254: >> include/linux/fortify-string.h:430:4: warning: call to __write_overflow_field declared with 'warning' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning] __write_overflow_field(p_size_field, size); ^ 1 warning generated. vim +/warning +430 include/linux/fortify-string.h a28a6e860c6cf2 Francis Laniel 2021-02-25 411 28e77cc1c06866 Kees Cook 2021-06-16 412 __FORTIFY_INLINE void fortify_memset_chk(__kernel_size_t size, 28e77cc1c06866 Kees Cook 2021-06-16 413 const size_t p_size, 28e77cc1c06866 Kees Cook 2021-06-16 414 const size_t p_size_field) a28a6e860c6cf2 Francis Laniel 2021-02-25 415 { 28e77cc1c06866 Kees Cook 2021-06-16 416 if (__builtin_constant_p(size)) { 28e77cc1c06866 Kees Cook 2021-06-16 417 /* 28e77cc1c06866 Kees Cook 2021-06-16 418 * Length argument is a constant expression, so we 28e77cc1c06866 Kees Cook 2021-06-16 419 * can perform compile-time bounds checking where fa35198f39571b Kees Cook 2022-09-19 420 * buffer sizes are also known at compile time. 28e77cc1c06866 Kees Cook 2021-06-16 421 */ a28a6e860c6cf2 Francis Laniel 2021-02-25 422 28e77cc1c06866 Kees Cook 2021-06-16 423 /* Error when size is larger than enclosing struct. */ fa35198f39571b Kees Cook 2022-09-19 424 if (__compiletime_lessthan(p_size_field, p_size) && fa35198f39571b Kees Cook 2022-09-19 425 __compiletime_lessthan(p_size, size)) a28a6e860c6cf2 Francis Laniel 2021-02-25 426 __write_overflow(); 28e77cc1c06866 Kees Cook 2021-06-16 427 28e77cc1c06866 Kees Cook 2021-06-16 428 /* Warn when write size is larger than dest field. */ fa35198f39571b Kees Cook 2022-09-19 429 if (__compiletime_lessthan(p_size_field, size)) 28e77cc1c06866 Kees Cook 2021-06-16 @430 __write_overflow_field(p_size_field, size); a28a6e860c6cf2 Francis Laniel 2021-02-25 431 } 28e77cc1c06866 Kees Cook 2021-06-16 432 /* 28e77cc1c06866 Kees Cook 2021-06-16 433 * At this point, length argument may not be a constant expression, 28e77cc1c06866 Kees Cook 2021-06-16 434 * so run-time bounds checking can be done where buffer sizes are 28e77cc1c06866 Kees Cook 2021-06-16 435 * known. (This is not an "else" because the above checks may only 28e77cc1c06866 Kees Cook 2021-06-16 436 * be compile-time warnings, and we want to still warn for run-time 28e77cc1c06866 Kees Cook 2021-06-16 437 * overflows.) 28e77cc1c06866 Kees Cook 2021-06-16 438 */ 28e77cc1c06866 Kees Cook 2021-06-16 439 28e77cc1c06866 Kees Cook 2021-06-16 440 /* 28e77cc1c06866 Kees Cook 2021-06-16 441 * Always stop accesses beyond the struct that contains the 28e77cc1c06866 Kees Cook 2021-06-16 442 * field, when the buffer's remaining size is known. 311fb40aa0569a Kees Cook 2022-09-02 443 * (The SIZE_MAX test is to optimize away checks where the buffer 28e77cc1c06866 Kees Cook 2021-06-16 444 * lengths are unknown.) 28e77cc1c06866 Kees Cook 2021-06-16 445 */ 311fb40aa0569a Kees Cook 2022-09-02 446 if (p_size != SIZE_MAX && p_size < size) 28e77cc1c06866 Kees Cook 2021-06-16 447 fortify_panic("memset"); 28e77cc1c06866 Kees Cook 2021-06-16 448 } 28e77cc1c06866 Kees Cook 2021-06-16 449 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki