All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Tom Herbert <tom@herbertland.com>,
	davem@davemloft.net, kuba@kernel.org, edumazet@google.com,
	netdev@vger.kernel.org, felipe@sipanda.io,
	willemdebruijn.kernel@gmail.com
Cc: oe-kbuild-all@lists.linux.dev, Tom Herbert <tom@herbertland.com>
Subject: Re: [PATCH net-next v2 04/12] flow_dissector: UDP encap infrastructure
Date: Sat, 17 Aug 2024 22:01:04 +0800	[thread overview]
Message-ID: <202408172101.UDWfVPns-lkp@intel.com> (raw)
In-Reply-To: <20240815214527.2100137-5-tom@herbertland.com>

Hi Tom,

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/Tom-Herbert/flow_dissector-Parse-ETH_P_TEB-and-move-out-of-GRE/20240816-102659
base:   net-next/main
patch link:    https://lore.kernel.org/r/20240815214527.2100137-5-tom%40herbertland.com
patch subject: [PATCH net-next v2 04/12] flow_dissector: UDP encap infrastructure
config: loongarch-randconfig-002-20240817 (https://download.01.org/0day-ci/archive/20240817/202408172101.UDWfVPns-lkp@intel.com/config)
compiler: loongarch64-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240817/202408172101.UDWfVPns-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 <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202408172101.UDWfVPns-lkp@intel.com/

All errors (new ones prefixed by >>):

   loongarch64-linux-ld: net/core/flow_dissector.o: in function `__skb_flow_dissect_udp':
>> net/core/flow_dissector.c:844:(.text+0x13e8): undefined reference to `__udp4_lib_lookup'


vim +844 net/core/flow_dissector.c

   809	
   810	static enum flow_dissect_ret
   811	__skb_flow_dissect_udp(const struct sk_buff *skb, const struct net *net,
   812			       struct flow_dissector *flow_dissector,
   813			       void *target_container, const void *data,
   814			       int *p_nhoff, int hlen, __be16 *p_proto,
   815			       u8 *p_ip_proto, int base_nhoff, unsigned int flags)
   816	{
   817		enum flow_dissect_ret ret;
   818		const struct udphdr *udph;
   819		struct udphdr _udph;
   820		struct sock *sk;
   821		__u8 encap_type;
   822		int nhoff;
   823	
   824		if (!(flags & FLOW_DISSECTOR_F_PARSE_UDP_ENCAPS))
   825			return FLOW_DISSECT_RET_OUT_GOOD;
   826	
   827		switch (*p_proto) {
   828		case htons(ETH_P_IP): {
   829			const struct iphdr *iph;
   830			struct iphdr _iph;
   831	
   832			iph = __skb_header_pointer(skb, base_nhoff, sizeof(_iph), data,
   833						   hlen, &_iph);
   834			if (!iph)
   835				return FLOW_DISSECT_RET_OUT_BAD;
   836	
   837			udph = __skb_header_pointer(skb, *p_nhoff, sizeof(_udph), data,
   838						    hlen, &_udph);
   839			if (!udph)
   840				return FLOW_DISSECT_RET_OUT_BAD;
   841	
   842			rcu_read_lock();
   843			/* Look up the UDPv4 socket and get the encap_type */
 > 844			sk = __udp4_lib_lookup(net, iph->saddr, udph->source,
   845					       iph->daddr, udph->dest,
   846					       inet_iif(skb), inet_sdif(skb),
   847					       net->ipv4.udp_table, NULL);
   848			if (!sk || !udp_sk(sk)->encap_type) {
   849				rcu_read_unlock();
   850				return FLOW_DISSECT_RET_OUT_GOOD;
   851			}
   852	
   853			encap_type = udp_sk(sk)->encap_type;
   854			rcu_read_unlock();
   855	
   856			break;
   857		}
   858	#if IS_ENABLED(CONFIG_IPV6)
   859		case htons(ETH_P_IPV6): {
   860			const struct ipv6hdr *iph;
   861			struct ipv6hdr _iph;
   862	
   863			if (!likely(ipv6_bpf_stub))
   864				return FLOW_DISSECT_RET_OUT_GOOD;
   865	
   866			iph = __skb_header_pointer(skb, base_nhoff, sizeof(_iph), data,
   867						   hlen, &_iph);
   868			if (!iph)
   869				return FLOW_DISSECT_RET_OUT_BAD;
   870	
   871			udph = __skb_header_pointer(skb, *p_nhoff, sizeof(_udph), data,
   872						    hlen, &_udph);
   873			if (!udph)
   874				return FLOW_DISSECT_RET_OUT_BAD;
   875	
   876			rcu_read_lock();
   877			/* Look up the UDPv6 socket and get the encap_type */
   878			sk = ipv6_bpf_stub->udp6_lib_lookup(net,
   879					&iph->saddr, udph->source,
   880					&iph->daddr, udph->dest,
   881					inet_iif(skb), inet_sdif(skb),
   882					net->ipv4.udp_table, NULL);
   883	
   884			if (!sk || !udp_sk(sk)->encap_type) {
   885				rcu_read_unlock();
   886				return FLOW_DISSECT_RET_OUT_GOOD;
   887			}
   888	
   889			encap_type = udp_sk(sk)->encap_type;
   890			rcu_read_unlock();
   891	
   892			break;
   893		}
   894	#endif /* CONFIG_IPV6 */
   895		default:
   896			return FLOW_DISSECT_RET_OUT_GOOD;
   897		}
   898	
   899		nhoff = *p_nhoff + sizeof(struct udphdr);
   900		ret = FLOW_DISSECT_RET_OUT_GOOD;
   901	
   902		switch (encap_type) {
   903		default:
   904			break;
   905		}
   906	
   907		switch (ret) {
   908		case FLOW_DISSECT_RET_PROTO_AGAIN:
   909			*p_ip_proto = 0;
   910			fallthrough;
   911		case FLOW_DISSECT_RET_IPPROTO_AGAIN:
   912			*p_nhoff = nhoff;
   913			break;
   914		default:
   915			break;
   916		}
   917	
   918		return ret;
   919	}
   920	

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

  parent reply	other threads:[~2024-08-17 14:01 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-15 21:45 [PATCH net-next v2 00/12] flow_dissector: Dissect UDP encapsulation protocols Tom Herbert
2024-08-15 21:45 ` [PATCH net-next v2 01/12] flow_dissector: Parse ETH_P_TEB and move out of GRE Tom Herbert
2024-08-16 18:54   ` Willem de Bruijn
2024-08-20 16:21     ` Tom Herbert
2024-08-20 16:30       ` Willem de Bruijn
2024-08-20 16:42         ` Tom Herbert
2024-08-20 17:43           ` Willem de Bruijn
2024-08-15 21:45 ` [PATCH net-next v2 02/12] udp_encaps: Add new UDP_ENCAP constants Tom Herbert
2024-08-16 18:56   ` Willem de Bruijn
2024-08-15 21:45 ` [PATCH net-next v2 03/12] udp_encaps: Set proper UDP_ENCAP types in tunnel setup Tom Herbert
2024-08-15 21:45 ` [PATCH net-next v2 04/12] flow_dissector: UDP encap infrastructure Tom Herbert
2024-08-16 19:09   ` Willem de Bruijn
2024-08-17 14:01   ` kernel test robot [this message]
2024-08-20 18:52   ` Eric Dumazet
2024-08-20 19:00     ` Tom Herbert
2024-08-15 21:45 ` [PATCH net-next v2 05/12] flow_dissector: Parse vxlan in UDP Tom Herbert
2024-08-16 19:19   ` Willem de Bruijn
2024-08-17  1:09   ` Jakub Kicinski
2024-08-20 18:15     ` Tom Herbert
2024-08-15 21:45 ` [PATCH net-next v2 06/12] flow_dissector: Parse foo-over-udp (FOU) Tom Herbert
2024-08-15 21:45 ` [PATCH net-next v2 07/12] flow_dissector: Parse ESP, L2TP, and SCTP in UDP Tom Herbert
2024-08-16 19:20   ` Willem de Bruijn
2024-08-15 21:45 ` [PATCH net-next v2 08/12] flow_dissector: Parse Geneve " Tom Herbert
2024-08-16 19:21   ` Willem de Bruijn
2024-08-15 21:45 ` [PATCH net-next v2 09/12] flow_dissector: Parse GUE " Tom Herbert
2024-08-16 19:25   ` Willem de Bruijn
2024-08-15 21:45 ` [PATCH net-next v2 10/12] gtp: Move gtp_parse_exthdrs into net/gtp.h Tom Herbert
2024-08-16 19:27   ` Willem de Bruijn
2024-08-15 21:45 ` [PATCH net-next v2 11/12] flow_dissector: Parse gtp in UDP Tom Herbert
2024-08-15 21:45 ` [PATCH net-next v2 12/12] flow_dissector: Add case in ipproto switch for NEXTHDR_NONE Tom Herbert
2024-08-16 19:28   ` Willem de Bruijn
2024-08-16 20:19 ` [PATCH net-next v2 00/12] flow_dissector: Dissect UDP encapsulation protocols Willem de Bruijn
2024-08-20 18:28   ` Tom Herbert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202408172101.UDWfVPns-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=felipe@sipanda.io \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=tom@herbertland.com \
    --cc=willemdebruijn.kernel@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.