Hi Heng, kernel test robot noticed the following build errors: [auto build test ERROR on net-next/main] url: https://github.com/intel-lab-lkp/linux/commits/Heng-Qi/linux-dim-move-useful-macros-to-h-file/20240411-221400 base: net-next/main patch link: https://lore.kernel.org/r/1712844751-53514-3-git-send-email-hengqi%40linux.alibaba.com patch subject: [PATCH net-next v6 2/4] ethtool: provide customized dim profile management config: um-allnoconfig (https://download.01.org/0day-ci/archive/20240412/202404121200.pplgT1xP-lkp@xxxxxxxxx/config) compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240412/202404121200.pplgT1xP-lkp@xxxxxxxxx/reproduce) 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/202404121200.pplgT1xP-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): In file included from net/core/dev.c:80: In file included from include/linux/sched/isolation.h:7: In file included from include/linux/tick.h:8: In file included from include/linux/clockchips.h:14: In file included from include/linux/clocksource.h:22: In file included from arch/um/include/asm/io.h:24: include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 547 | val = __raw_readb(PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 560 | val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr)); | ~~~~~~~~~~ ^ include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu' 37 | #define __le16_to_cpu(x) ((__force __u16)(__le16)(x)) | ^ In file included from net/core/dev.c:80: In file included from include/linux/sched/isolation.h:7: In file included from include/linux/tick.h:8: In file included from include/linux/clockchips.h:14: In file included from include/linux/clocksource.h:22: In file included from arch/um/include/asm/io.h:24: include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 573 | val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr)); | ~~~~~~~~~~ ^ include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu' 35 | #define __le32_to_cpu(x) ((__force __u32)(__le32)(x)) | ^ In file included from net/core/dev.c:80: In file included from include/linux/sched/isolation.h:7: In file included from include/linux/tick.h:8: In file included from include/linux/clockchips.h:14: In file included from include/linux/clocksource.h:22: In file included from arch/um/include/asm/io.h:24: include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 584 | __raw_writeb(value, PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 594 | __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 604 | __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:692:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 692 | readsb(PCI_IOBASE + addr, buffer, count); | ~~~~~~~~~~ ^ include/asm-generic/io.h:700:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 700 | readsw(PCI_IOBASE + addr, buffer, count); | ~~~~~~~~~~ ^ include/asm-generic/io.h:708:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 708 | readsl(PCI_IOBASE + addr, buffer, count); | ~~~~~~~~~~ ^ include/asm-generic/io.h:717:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 717 | writesb(PCI_IOBASE + addr, buffer, count); | ~~~~~~~~~~ ^ include/asm-generic/io.h:726:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 726 | writesw(PCI_IOBASE + addr, buffer, count); | ~~~~~~~~~~ ^ include/asm-generic/io.h:735:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 735 | writesl(PCI_IOBASE + addr, buffer, count); | ~~~~~~~~~~ ^ >> net/core/dev.c:10235:58: error: no member named 'rx_eqe_profile' in 'struct net_device' 10235 | int length = NET_DIM_PARAMS_NUM_PROFILES * sizeof(*dev->rx_eqe_profile); | ~~~ ^ net/core/dev.c:10242:8: error: no member named 'rx_eqe_profile' in 'struct net_device' 10242 | dev->rx_eqe_profile = kzalloc(length, GFP_KERNEL); | ~~~ ^ net/core/dev.c:10243:13: error: no member named 'rx_eqe_profile' in 'struct net_device' 10243 | if (!dev->rx_eqe_profile) | ~~~ ^ net/core/dev.c:10245:15: error: no member named 'rx_eqe_profile' in 'struct net_device' 10245 | memcpy(dev->rx_eqe_profile, rx_profile[0], length); | ~~~ ^ >> net/core/dev.c:10248:8: error: no member named 'rx_cqe_profile' in 'struct net_device' 10248 | dev->rx_cqe_profile = kzalloc(length, GFP_KERNEL); | ~~~ ^ net/core/dev.c:10249:13: error: no member named 'rx_cqe_profile' in 'struct net_device' 10249 | if (!dev->rx_cqe_profile) | ~~~ ^ net/core/dev.c:10251:15: error: no member named 'rx_cqe_profile' in 'struct net_device' 10251 | memcpy(dev->rx_cqe_profile, rx_profile[1], length); | ~~~ ^ >> net/core/dev.c:10254:8: error: no member named 'tx_eqe_profile' in 'struct net_device' 10254 | dev->tx_eqe_profile = kzalloc(length, GFP_KERNEL); | ~~~ ^ net/core/dev.c:10255:13: error: no member named 'tx_eqe_profile' in 'struct net_device' 10255 | if (!dev->tx_eqe_profile) | ~~~ ^ net/core/dev.c:10257:15: error: no member named 'tx_eqe_profile' in 'struct net_device' 10257 | memcpy(dev->tx_eqe_profile, tx_profile[0], length); | ~~~ ^ >> net/core/dev.c:10260:8: error: no member named 'tx_cqe_profile' in 'struct net_device' 10260 | dev->tx_cqe_profile = kzalloc(length, GFP_KERNEL); | ~~~ ^ net/core/dev.c:10261:13: error: no member named 'tx_cqe_profile' in 'struct net_device' 10261 | if (!dev->tx_cqe_profile) | ~~~ ^ net/core/dev.c:10263:15: error: no member named 'tx_cqe_profile' in 'struct net_device' 10263 | memcpy(dev->tx_cqe_profile, tx_profile[1], length); | ~~~ ^ net/core/dev.c:11063:14: error: no member named 'rx_eqe_profile' in 'struct net_device' 11063 | kfree(dev->rx_eqe_profile); | ~~~ ^ net/core/dev.c:11066:14: error: no member named 'rx_cqe_profile' in 'struct net_device' 11066 | kfree(dev->rx_cqe_profile); | ~~~ ^ net/core/dev.c:11069:14: error: no member named 'tx_eqe_profile' in 'struct net_device' 11069 | kfree(dev->tx_eqe_profile); | ~~~ ^ net/core/dev.c:11072:14: error: no member named 'tx_cqe_profile' in 'struct net_device' 11072 | kfree(dev->tx_cqe_profile); | ~~~ ^ 12 warnings and 17 errors generated. -- In file included from net/ethtool/coalesce.c:3: In file included from net/ethtool/netlink.h:6: In file included from include/linux/ethtool_netlink.h:6: In file included from include/uapi/linux/ethtool_netlink.h:12: In file included from include/linux/ethtool.h:18: In file included from include/linux/if_ether.h:19: In file included from include/linux/skbuff.h:17: In file included from include/linux/bvec.h:10: In file included from include/linux/highmem.h:12: In file included from include/linux/hardirq.h:11: In file included from arch/um/include/asm/hardirq.h:5: In file included from include/asm-generic/hardirq.h:17: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/um/include/asm/io.h:24: include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 547 | val = __raw_readb(PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 560 | val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr)); | ~~~~~~~~~~ ^ include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu' 37 | #define __le16_to_cpu(x) ((__force __u16)(__le16)(x)) | ^ In file included from net/ethtool/coalesce.c:3: In file included from net/ethtool/netlink.h:6: In file included from include/linux/ethtool_netlink.h:6: In file included from include/uapi/linux/ethtool_netlink.h:12: In file included from include/linux/ethtool.h:18: In file included from include/linux/if_ether.h:19: In file included from include/linux/skbuff.h:17: In file included from include/linux/bvec.h:10: In file included from include/linux/highmem.h:12: In file included from include/linux/hardirq.h:11: In file included from arch/um/include/asm/hardirq.h:5: In file included from include/asm-generic/hardirq.h:17: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/um/include/asm/io.h:24: include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 573 | val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr)); | ~~~~~~~~~~ ^ include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu' 35 | #define __le32_to_cpu(x) ((__force __u32)(__le32)(x)) | ^ In file included from net/ethtool/coalesce.c:3: In file included from net/ethtool/netlink.h:6: In file included from include/linux/ethtool_netlink.h:6: In file included from include/uapi/linux/ethtool_netlink.h:12: In file included from include/linux/ethtool.h:18: In file included from include/linux/if_ether.h:19: In file included from include/linux/skbuff.h:17: In file included from include/linux/bvec.h:10: In file included from include/linux/highmem.h:12: In file included from include/linux/hardirq.h:11: In file included from arch/um/include/asm/hardirq.h:5: In file included from include/asm-generic/hardirq.h:17: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/um/include/asm/io.h:24: include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 584 | __raw_writeb(value, PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 594 | __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 604 | __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:692:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 692 | readsb(PCI_IOBASE + addr, buffer, count); | ~~~~~~~~~~ ^ include/asm-generic/io.h:700:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 700 | readsw(PCI_IOBASE + addr, buffer, count); | ~~~~~~~~~~ ^ include/asm-generic/io.h:708:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 708 | readsl(PCI_IOBASE + addr, buffer, count); | ~~~~~~~~~~ ^ include/asm-generic/io.h:717:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 717 | writesb(PCI_IOBASE + addr, buffer, count); | ~~~~~~~~~~ ^ include/asm-generic/io.h:726:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 726 | writesw(PCI_IOBASE + addr, buffer, count); | ~~~~~~~~~~ ^ include/asm-generic/io.h:735:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 735 | writesl(PCI_IOBASE + addr, buffer, count); | ~~~~~~~~~~ ^ >> net/ethtool/coalesce.c:268:11: error: no member named 'rx_eqe_profile' in 'struct net_device' 268 | dev->rx_eqe_profile, supported) || | ~~~ ^ >> net/ethtool/coalesce.c:270:11: error: no member named 'rx_cqe_profile' in 'struct net_device' 270 | dev->rx_cqe_profile, supported) || | ~~~ ^ >> net/ethtool/coalesce.c:272:11: error: no member named 'tx_eqe_profile' in 'struct net_device' 272 | dev->tx_eqe_profile, supported) || | ~~~ ^ >> net/ethtool/coalesce.c:274:11: error: no member named 'tx_cqe_profile' in 'struct net_device' 274 | dev->tx_cqe_profile, supported)) | ~~~ ^ net/ethtool/coalesce.c:479:39: error: no member named 'rx_eqe_profile' in 'struct net_device' 479 | ret = ethnl_update_profile(dev, dev->rx_eqe_profile, | ~~~ ^ net/ethtool/coalesce.c:484:39: error: no member named 'rx_cqe_profile' in 'struct net_device' 484 | ret = ethnl_update_profile(dev, dev->rx_cqe_profile, | ~~~ ^ net/ethtool/coalesce.c:489:39: error: no member named 'tx_eqe_profile' in 'struct net_device' 489 | ret = ethnl_update_profile(dev, dev->tx_eqe_profile, | ~~~ ^ net/ethtool/coalesce.c:494:39: error: no member named 'tx_cqe_profile' in 'struct net_device' 494 | ret = ethnl_update_profile(dev, dev->tx_cqe_profile, | ~~~ ^ 12 warnings and 8 errors generated. vim +10235 net/core/dev.c 10232 10233 static int dev_dim_profile_init(struct net_device *dev) 10234 { 10235 int length = NET_DIM_PARAMS_NUM_PROFILES * sizeof(*dev->rx_eqe_profile); 10236 u32 supported = dev->ethtool_ops->supported_coalesce_params; 10237 10238 if (!(dev->priv_flags & (IFF_PROFILE_USEC | IFF_PROFILE_PKTS | IFF_PROFILE_COMPS))) 10239 return 0; 10240 10241 if (supported & ETHTOOL_COALESCE_RX_EQE_PROFILE) { 10242 dev->rx_eqe_profile = kzalloc(length, GFP_KERNEL); 10243 if (!dev->rx_eqe_profile) 10244 return -ENOMEM; 10245 memcpy(dev->rx_eqe_profile, rx_profile[0], length); 10246 } 10247 if (supported & ETHTOOL_COALESCE_RX_CQE_PROFILE) { 10248 dev->rx_cqe_profile = kzalloc(length, GFP_KERNEL); 10249 if (!dev->rx_cqe_profile) 10250 return -ENOMEM; 10251 memcpy(dev->rx_cqe_profile, rx_profile[1], length); 10252 } 10253 if (supported & ETHTOOL_COALESCE_TX_EQE_PROFILE) { 10254 dev->tx_eqe_profile = kzalloc(length, GFP_KERNEL); 10255 if (!dev->tx_eqe_profile) 10256 return -ENOMEM; 10257 memcpy(dev->tx_eqe_profile, tx_profile[0], length); 10258 } 10259 if (supported & ETHTOOL_COALESCE_TX_CQE_PROFILE) { 10260 dev->tx_cqe_profile = kzalloc(length, GFP_KERNEL); 10261 if (!dev->tx_cqe_profile) 10262 return -ENOMEM; 10263 memcpy(dev->tx_cqe_profile, tx_profile[1], length); 10264 } 10265 10266 return 0; 10267 } 10268 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki