drivers/net/ethernet/sfc/falcon/selftest.c:43:15: warning: field ip within 'struct ef4_loopback_payload' is less aligned than 'struct iphdr' and is usually due to 'struct ef4_loopback_payload' being packed, which can lead to unaligned accesses

From: kernel test robot
Date: Wed Mar 22 2023 - 03:12:35 EST


Hi Arnd,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a1effab7a3a35a837dd9d2b974a1bc4939df1ad5
commit: 250c1a694ff304e5d69e74ab32755eddcc2b8f65 ARM: pxa: convert to multiplatform
date: 11 months ago
config: arm-randconfig-r023-20230322 (https://download.01.org/0day-ci/archive/20230322/202303221557.Yc4KdwGu-lkp@xxxxxxxxx/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 67409911353323ca5edf2049ef0df54132fa1ca7)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=250c1a694ff304e5d69e74ab32755eddcc2b8f65
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 250c1a694ff304e5d69e74ab32755eddcc2b8f65
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/net/ethernet/sfc/falcon/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202303221557.Yc4KdwGu-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> drivers/net/ethernet/sfc/falcon/selftest.c:43:15: warning: field ip within 'struct ef4_loopback_payload' is less aligned than 'struct iphdr' and is usually due to 'struct ef4_loopback_payload' being packed, which can lead to unaligned accesses [-Wunaligned-access]
struct iphdr ip;
^
1 warning generated.


vim +43 drivers/net/ethernet/sfc/falcon/selftest.c

5a6681e22c1409 Edward Cree 2016-11-28 34
5a6681e22c1409 Edward Cree 2016-11-28 35 /*
5a6681e22c1409 Edward Cree 2016-11-28 36 * Loopback test packet structure
5a6681e22c1409 Edward Cree 2016-11-28 37 *
5a6681e22c1409 Edward Cree 2016-11-28 38 * The self-test should stress every RSS vector, and unfortunately
5a6681e22c1409 Edward Cree 2016-11-28 39 * Falcon only performs RSS on TCP/UDP packets.
5a6681e22c1409 Edward Cree 2016-11-28 40 */
5a6681e22c1409 Edward Cree 2016-11-28 41 struct ef4_loopback_payload {
5a6681e22c1409 Edward Cree 2016-11-28 42 struct ethhdr header;
5a6681e22c1409 Edward Cree 2016-11-28 @43 struct iphdr ip;
5a6681e22c1409 Edward Cree 2016-11-28 44 struct udphdr udp;
5a6681e22c1409 Edward Cree 2016-11-28 45 __be16 iteration;
5a6681e22c1409 Edward Cree 2016-11-28 46 char msg[64];
5a6681e22c1409 Edward Cree 2016-11-28 47 } __packed;
5a6681e22c1409 Edward Cree 2016-11-28 48

:::::: The code at line 43 was first introduced by commit
:::::: 5a6681e22c1409089132085811857d6da828761b sfc: separate out SFC4000 ("Falcon") support into new sfc-falcon driver

:::::: TO: Edward Cree <ecree@xxxxxxxxxxxxxx>
:::::: CC: David S. Miller <davem@xxxxxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests