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
next prev 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.