CC: kbuild-all(a)lists.01.org In-Reply-To: <20210727205855.411487-6-keescook@chromium.org> References: <20210727205855.411487-6-keescook@chromium.org> TO: Kees Cook Hi Kees, I love your patch! Perhaps something to improve: [auto build test WARNING on staging/staging-testing] [also build test WARNING on linus/master v5.14-rc3 next-20210727] [cannot apply to wireless-drivers-next/master wireless-drivers/master] [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] url: https://github.com/0day-ci/linux/commits/Kees-Cook/Introduce-strict-memcpy-bounds-checking/20210728-053749 base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 39f9137268ee3df0047706df4e9b7357a40ffc98 :::::: branch date: 86 minutes ago :::::: commit date: 86 minutes ago config: csky-randconfig-s032-20210727 (attached as .config) compiler: csky-linux-gcc (GCC) 10.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.3-341-g8af24329-dirty # https://github.com/0day-ci/linux/commit/80b83332473f65b5a87310a3c8d61d32f0f1d288 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Kees-Cook/Introduce-strict-memcpy-bounds-checking/20210728-053749 git checkout 80b83332473f65b5a87310a3c8d61d32f0f1d288 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=csky SHELL=/bin/bash drivers/iio/accel/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) drivers/iio/accel/mma7455_spi.c: note: in included file (through include/linux/ptp_clock_kernel.h, include/linux/spi/spi.h): >> include/linux/skbuff.h:813:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:815:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:839:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:841:1: sparse: sparse: directive in macro's argument list -- drivers/iio/accel/adxl372_spi.c: note: in included file (through include/linux/ptp_clock_kernel.h, include/linux/spi/spi.h): >> include/linux/skbuff.h:813:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:815:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:839:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:841:1: sparse: sparse: directive in macro's argument list -- drivers/iio/accel/bmi088-accel-spi.c: note: in included file (through include/linux/ptp_clock_kernel.h, include/linux/spi/spi.h): >> include/linux/skbuff.h:813:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:815:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:839:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:841:1: sparse: sparse: directive in macro's argument list -- drivers/iio/accel/adis16201.c: note: in included file (through include/linux/ptp_clock_kernel.h, include/linux/spi/spi.h): >> include/linux/skbuff.h:813:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:815:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:839:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:841:1: sparse: sparse: directive in macro's argument list -- drivers/iio/accel/bmc150-accel-spi.c: note: in included file (through include/linux/ptp_clock_kernel.h, include/linux/spi/spi.h): >> include/linux/skbuff.h:813:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:815:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:839:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:841:1: sparse: sparse: directive in macro's argument list -- drivers/iio/accel/sca3300.c: note: in included file (through include/linux/ptp_clock_kernel.h, include/linux/spi/spi.h): >> include/linux/skbuff.h:813:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:815:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:839:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:841:1: sparse: sparse: directive in macro's argument list -- drivers/iio/accel/st_accel_i2c.c: note: in included file (through include/linux/ptp_clock_kernel.h, include/linux/spi/spi.h, include/linux/iio/common/st_sensors.h, ...): >> include/linux/skbuff.h:813:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:815:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:839:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:841:1: sparse: sparse: directive in macro's argument list -- drivers/iio/accel/adxl372.c: note: in included file (through include/linux/ptp_clock_kernel.h, include/linux/spi/spi.h): >> include/linux/skbuff.h:813:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:815:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:839:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:841:1: sparse: sparse: directive in macro's argument list -- drivers/iio/accel/st_accel_buffer.c: note: in included file (through include/linux/ptp_clock_kernel.h, include/linux/spi/spi.h, include/linux/iio/common/st_sensors.h): >> include/linux/skbuff.h:813:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:815:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:839:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:841:1: sparse: sparse: directive in macro's argument list -- drivers/iio/accel/st_accel_spi.c: note: in included file (through include/linux/ptp_clock_kernel.h, include/linux/spi/spi.h): >> include/linux/skbuff.h:813:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:815:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:839:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:841:1: sparse: sparse: directive in macro's argument list -- drivers/iio/accel/st_accel_core.c: note: in included file (through include/linux/ptp_clock_kernel.h, include/linux/spi/spi.h, include/linux/iio/common/st_sensors.h): >> include/linux/skbuff.h:813:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:815:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:839:1: sparse: sparse: directive in macro's argument list include/linux/skbuff.h:841:1: sparse: sparse: directive in macro's argument list vim +813 include/linux/skbuff.h 6a5bcd84e886a9 Ilias Apalodimas 2021-06-07 802 80b83332473f65 Kees Cook 2021-07-27 803 /* Fields enclosed in headers group are copied b1937227316417 Eric Dumazet 2014-09-28 804 * using a single memcpy() in __copy_skb_header() b1937227316417 Eric Dumazet 2014-09-28 805 */ 80b83332473f65 Kees Cook 2021-07-27 806 struct_group(headers, ebcf34f3d4be11 Randy Dunlap 2014-10-26 807 /* public: */ 4031ae6edb92f7 Alexander Duyck 2012-01-27 808 233577a22089fa Hannes Frederic Sowa 2014-09-12 809 /* if you move pkt_type around you also must adapt those constants */ 233577a22089fa Hannes Frederic Sowa 2014-09-12 810 #ifdef __BIG_ENDIAN_BITFIELD 233577a22089fa Hannes Frederic Sowa 2014-09-12 811 #define PKT_TYPE_MAX (7 << 5) 233577a22089fa Hannes Frederic Sowa 2014-09-12 812 #else 233577a22089fa Hannes Frederic Sowa 2014-09-12 @813 #define PKT_TYPE_MAX 7 ^1da177e4c3f41 Linus Torvalds 2005-04-16 814 #endif 233577a22089fa Hannes Frederic Sowa 2014-09-12 815 #define PKT_TYPE_OFFSET() offsetof(struct sk_buff, __pkt_type_offset) fe55f6d5c0cfec Vegard Nossum 2008-08-30 816 d2f273f0a92052 Randy Dunlap 2020-02-15 817 /* private: */ 233577a22089fa Hannes Frederic Sowa 2014-09-12 818 __u8 __pkt_type_offset[0]; d2f273f0a92052 Randy Dunlap 2020-02-15 819 /* public: */ b1937227316417 Eric Dumazet 2014-09-28 820 __u8 pkt_type:3; b1937227316417 Eric Dumazet 2014-09-28 821 __u8 ignore_df:1; b1937227316417 Eric Dumazet 2014-09-28 822 __u8 nf_trace:1; b1937227316417 Eric Dumazet 2014-09-28 823 __u8 ip_summed:2; 3853b5841c01a3 Tom Herbert 2010-11-21 824 __u8 ooo_okay:1; 8b7008620b8452 Stefano Brivio 2018-07-11 825 61b905da33ae25 Tom Herbert 2014-03-24 826 __u8 l4_hash:1; a3b18ddb9cc105 Tom Herbert 2014-07-01 827 __u8 sw_hash:1; 6e3e939f3b1bf8 Johannes Berg 2011-11-09 828 __u8 wifi_acked_valid:1; 6e3e939f3b1bf8 Johannes Berg 2011-11-09 829 __u8 wifi_acked:1; 3bdc0eba0b8b47 Ben Greear 2012-02-11 830 __u8 no_fcs:1; 77cffe23c1f888 Tom Herbert 2014-08-27 831 /* Indicates the inner headers are valid in the skbuff. */ 6a674e9c75b17e Joseph Gasparakis 2012-12-07 832 __u8 encapsulation:1; 7e2b10c1e52ca3 Tom Herbert 2014-06-04 833 __u8 encap_hdr_csum:1; 5d0c2b95bc57cf Tom Herbert 2014-06-10 834 __u8 csum_valid:1; 8b7008620b8452 Stefano Brivio 2018-07-11 835 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org