Re: [PATCH ipsec-next v7 08/16] xfrm: iptfs: add user packet (tunnel ingress) handling
From: kernel test robot <hidden>
Date: 2024-08-03 00:28:01
Also in:
llvm, oe-kbuild-all
Hi Christian, kernel test robot noticed the following build errors: [auto build test ERROR on klassert-ipsec-next/master] [also build test ERROR on netfilter-nf/main linus/master v6.11-rc1 next-20240802] [cannot apply to klassert-ipsec/master nf-next/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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Christian-Hopps/xfrm-config-add-CONFIG_XFRM_IPTFS/20240802-185628 base: https://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next.git master patch link: https://lore.kernel.org/r/20240801080314.169715-9-chopps%40chopps.org patch subject: [PATCH ipsec-next v7 08/16] xfrm: iptfs: add user packet (tunnel ingress) handling config: hexagon-allmodconfig (https://download.01.org/0day-ci/archive/20240803/202408030845.8Jzc5s6Q-lkp@intel.com/config) compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 423aec6573df4424f90555468128e17073ddc69e) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240803/202408030845.8Jzc5s6Q-lkp@intel.com/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 [off-list ref] | Closes: https://lore.kernel.org/oe-kbuild-all/202408030845.8Jzc5s6Q-lkp@intel.com/ (local) All error/warnings (new ones prefixed by >>): In file included from net/xfrm/xfrm_iptfs.c:11: In file included from include/linux/icmpv6.h:5: 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:10: In file included from include/linux/mm.h:2228: include/linux/vmstat.h:514:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 514 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ In file included from net/xfrm/xfrm_iptfs.c:11: In file included from include/linux/icmpv6.h:5: 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/hexagon/include/generated/asm/hardirq.h:1: 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:14: In file included from arch/hexagon/include/asm/io.h:328: include/asm-generic/io.h:548:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 548 | val = __raw_readb(PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:561:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 561 | 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/xfrm/xfrm_iptfs.c:11: In file included from include/linux/icmpv6.h:5: 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/hexagon/include/generated/asm/hardirq.h:1: 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:14: In file included from arch/hexagon/include/asm/io.h:328: include/asm-generic/io.h:574:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 574 | 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/xfrm/xfrm_iptfs.c:11: In file included from include/linux/icmpv6.h:5: 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/hexagon/include/generated/asm/hardirq.h:1: 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:14: In file included from arch/hexagon/include/asm/io.h:328: include/asm-generic/io.h:585:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 585 | __raw_writeb(value, PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:595:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 595 | __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr); | ~~~~~~~~~~ ^ include/asm-generic/io.h:605:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 605 | __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr); | ~~~~~~~~~~ ^
quoted
net/xfrm/xfrm_iptfs.c:629:8: warning: comparison of distinct pointer types ('typeof ((xtfs->ecn_queue_size)) *' (aka 'unsigned int *') and 'uint64_t *' (aka 'unsigned long long *')) [-Wcompare-distinct-pointer-types]
629 | (void)do_div(xtfs->ecn_queue_size, 100);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/div64.h:222:28: note: expanded from macro 'do_div'
222 | (void)(((typeof((n)) *)0) == ((uint64_t *)0)); \
| ~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~quoted
net/xfrm/xfrm_iptfs.c:629:8: error: incompatible pointer types passing 'u32 *' (aka 'unsigned int *') to parameter of type 'uint64_t *' (aka 'unsigned long long *') [-Werror,-Wincompatible-pointer-types]
629 | (void)do_div(xtfs->ecn_queue_size, 100);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/div64.h:238:22: note: expanded from macro 'do_div'
238 | __rem = __div64_32(&(n), __base); \
| ^~~~
include/asm-generic/div64.h:213:38: note: passing argument to parameter 'dividend' here
213 | extern uint32_t __div64_32(uint64_t *dividend, uint32_t divisor);
| ^quoted
net/xfrm/xfrm_iptfs.c:629:8: warning: shift count >= width of type [-Wshift-count-overflow]
629 | (void)do_div(xtfs->ecn_queue_size, 100);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/div64.h:234:25: note: expanded from macro 'do_div'
234 | } else if (likely(((n) >> 32) == 0)) { \
| ^ ~~
include/linux/compiler.h:76:40: note: expanded from macro 'likely'
76 | # define likely(x) __builtin_expect(!!(x), 1)
| ^
9 warnings and 1 error generated.
vim +629 net/xfrm/xfrm_iptfs.c
588
589 /**
590 * iptfs_user_init() - initialize the SA with IPTFS options from netlink.
591 * @net: the net data
592 * @x: xfrm state
593 * @attrs: netlink attributes
594 * @extack: extack return data
595 *
596 * Return: 0 on success or a negative error code on failure
597 */
598 static int iptfs_user_init(struct net *net, struct xfrm_state *x,
599 struct nlattr **attrs,
600 struct netlink_ext_ack *extack)
601 {
602 struct xfrm_iptfs_data *xtfs = x->mode_data;
603 struct xfrm_iptfs_config *xc;
604
605 xc = &xtfs->cfg;
606 xc->max_queue_size = IPTFS_DEFAULT_MAX_QUEUE_SIZE;
607 xtfs->init_delay_ns = IPTFS_DEFAULT_INIT_DELAY_USECS * NSECS_IN_USEC;
608
609 if (attrs[XFRMA_IPTFS_PKT_SIZE]) {
610 xc->pkt_size = nla_get_u32(attrs[XFRMA_IPTFS_PKT_SIZE]);
611 if (!xc->pkt_size) {
612 xtfs->payload_mtu = 0;
613 } else if (xc->pkt_size > x->props.header_len) {
614 xtfs->payload_mtu = xc->pkt_size - x->props.header_len;
615 } else {
616 NL_SET_ERR_MSG(extack,
617 "Packet size must be 0 or greater than IPTFS/ESP header length");
618 return -EINVAL;
619 }
620 }
621 if (attrs[XFRMA_IPTFS_MAX_QSIZE])
622 xc->max_queue_size = nla_get_u32(attrs[XFRMA_IPTFS_MAX_QSIZE]);
623 if (attrs[XFRMA_IPTFS_INIT_DELAY])
624 xtfs->init_delay_ns =
625 (u64)nla_get_u32(attrs[XFRMA_IPTFS_INIT_DELAY]) *
626 NSECS_IN_USEC;
627
628 xtfs->ecn_queue_size = (u64)xc->max_queue_size * 95;
> 629 (void)do_div(xtfs->ecn_queue_size, 100);
630
631 return 0;
632 }
633
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki