Re: [PATCH net-next 2/2] net: snmp: add snmp tracepoint support for udp
From: kernel test robot
Date: Fri Nov 12 2021 - 22:32:56 EST
Hi,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on net-next/master]
url: https://github.com/0day-ci/linux/commits/menglong8-dong-gmail-com/net-snmp-tracepoint-support-for-snmp/20211111-213642
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 84882cf72cd774cf16fd338bdbf00f69ac9f9194
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 11.2.0
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
# https://github.com/0day-ci/linux/commit/15def40653e2754aa06d5af35d8fccd51ea903d2
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review menglong8-dong-gmail-com/net-snmp-tracepoint-support-for-snmp/20211111-213642
git checkout 15def40653e2754aa06d5af35d8fccd51ea903d2
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=m68k SHELL=/bin/bash net/ipv6/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All errors (new ones prefixed by >>):
net/ipv6/udp.c: In function 'udpv6_queue_rcv_one_skb':
>> net/ipv6/udp.c:705:59: error: macro "__UDP_INC_STATS" requires 4 arguments, but only 3 given
705 | is_udplite);
| ^
In file included from net/ipv6/udp_impl.h:4,
from net/ipv6/udp.c:55:
include/net/udp.h:421: note: macro "__UDP_INC_STATS" defined here
421 | #define __UDP_INC_STATS(net, skb, field, is_udplite) do { \
|
>> net/ipv6/udp.c:703:33: error: '__UDP_INC_STATS' undeclared (first use in this function); did you mean 'UDP_INC_STATS'?
703 | __UDP_INC_STATS(sock_net(sk),
| ^~~~~~~~~~~~~~~
| UDP_INC_STATS
net/ipv6/udp.c:703:33: note: each undeclared identifier is reported only once for each function it appears in
vim +/__UDP_INC_STATS +705 net/ipv6/udp.c
ba4e58eca8aa94 Gerrit Renker 2006-11-27 669
cf329aa42b6659 Paolo Abeni 2018-11-07 670 static int udpv6_queue_rcv_one_skb(struct sock *sk, struct sk_buff *skb)
ba4e58eca8aa94 Gerrit Renker 2006-11-27 671 {
ba4e58eca8aa94 Gerrit Renker 2006-11-27 672 struct udp_sock *up = udp_sk(sk);
b2bf1e2659b1cb Wang Chen 2007-12-03 673 int is_udplite = IS_UDPLITE(sk);
a18135eb9389c2 David S. Miller 2006-08-15 674
ba4e58eca8aa94 Gerrit Renker 2006-11-27 675 if (!xfrm6_policy_check(sk, XFRM_POLICY_IN, skb))
ba4e58eca8aa94 Gerrit Renker 2006-11-27 676 goto drop;
^1da177e4c3f41 Linus Torvalds 2005-04-16 677
88ab31081b8c8d Davidlohr Bueso 2018-05-08 678 if (static_branch_unlikely(&udpv6_encap_needed_key) && up->encap_type) {
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 679 int (*encap_rcv)(struct sock *sk, struct sk_buff *skb);
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 680
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 681 /*
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 682 * This is an encapsulation socket so pass the skb to
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 683 * the socket's udp_encap_rcv() hook. Otherwise, just
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 684 * fall through and pass this up the UDP socket.
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 685 * up->encap_rcv() returns the following value:
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 686 * =0 if skb was successfully passed to the encap
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 687 * handler or was discarded by it.
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 688 * >0 if skb should be passed on to UDP.
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 689 * <0 if skb should be resubmitted as proto -N
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 690 */
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 691
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 692 /* if we're overly short, let UDP handle it */
6aa7de059173a9 Mark Rutland 2017-10-23 693 encap_rcv = READ_ONCE(up->encap_rcv);
e5aed006be918a Hannes Frederic Sowa 2016-05-19 694 if (encap_rcv) {
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 695 int ret;
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 696
0a80966b1043c3 Tom Herbert 2014-05-07 697 /* Verify checksum before giving to encap */
0a80966b1043c3 Tom Herbert 2014-05-07 698 if (udp_lib_checksum_complete(skb))
0a80966b1043c3 Tom Herbert 2014-05-07 699 goto csum_error;
0a80966b1043c3 Tom Herbert 2014-05-07 700
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 701 ret = encap_rcv(sk, skb);
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 702 if (ret <= 0) {
02c223470c3cc3 Eric Dumazet 2016-04-27 @703 __UDP_INC_STATS(sock_net(sk),
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 704 UDP_MIB_INDATAGRAMS,
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 @705 is_udplite);
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 706 return -ret;
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 707 }
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 708 }
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 709
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 710 /* FALLTHROUGH -- it's a UDP Packet */
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 711 }
d7f3f62167bc22 Benjamin LaHaise 2012-04-27 712
ba4e58eca8aa94 Gerrit Renker 2006-11-27 713 /*
ba4e58eca8aa94 Gerrit Renker 2006-11-27 714 * UDP-Lite specific tests, ignored on UDP sockets (see net/ipv4/udp.c).
ba4e58eca8aa94 Gerrit Renker 2006-11-27 715 */
b0a422772fec29 Miaohe Lin 2020-07-21 716 if ((up->pcflag & UDPLITE_RECV_CC) && UDP_SKB_CB(skb)->partial_cov) {
ba4e58eca8aa94 Gerrit Renker 2006-11-27 717
ba4e58eca8aa94 Gerrit Renker 2006-11-27 718 if (up->pcrlen == 0) { /* full coverage was set */
ba7a46f16dd29f Joe Perches 2014-11-11 719 net_dbg_ratelimited("UDPLITE6: partial coverage %d while full coverage %d requested\n",
ba4e58eca8aa94 Gerrit Renker 2006-11-27 720 UDP_SKB_CB(skb)->cscov, skb->len);
ba4e58eca8aa94 Gerrit Renker 2006-11-27 721 goto drop;
^1da177e4c3f41 Linus Torvalds 2005-04-16 722 }
ba4e58eca8aa94 Gerrit Renker 2006-11-27 723 if (UDP_SKB_CB(skb)->cscov < up->pcrlen) {
ba7a46f16dd29f Joe Perches 2014-11-11 724 net_dbg_ratelimited("UDPLITE6: coverage %d too small, need min %d\n",
ba4e58eca8aa94 Gerrit Renker 2006-11-27 725 UDP_SKB_CB(skb)->cscov, up->pcrlen);
ba4e58eca8aa94 Gerrit Renker 2006-11-27 726 goto drop;
ba4e58eca8aa94 Gerrit Renker 2006-11-27 727 }
ba4e58eca8aa94 Gerrit Renker 2006-11-27 728 }
ba4e58eca8aa94 Gerrit Renker 2006-11-27 729
4b943faedfc29e Paolo Abeni 2017-06-22 730 prefetch(&sk->sk_rmem_alloc);
ce25d66ad5f8d9 Eric Dumazet 2016-06-02 731 if (rcu_access_pointer(sk->sk_filter) &&
ce25d66ad5f8d9 Eric Dumazet 2016-06-02 732 udp_lib_checksum_complete(skb))
6a5dc9e598fe90 Eric Dumazet 2013-04-29 733 goto csum_error;
ce25d66ad5f8d9 Eric Dumazet 2016-06-02 734
ba66bbe5480a01 Daniel Borkmann 2016-07-25 735 if (sk_filter_trim_cap(sk, skb, sizeof(struct udphdr)))
a612769774a30e Michal Kubeček 2016-07-08 736 goto drop;
^1da177e4c3f41 Linus Torvalds 2005-04-16 737
e6afc8ace6dd5c samanthakumar 2016-04-05 738 udp_csum_pull_header(skb);
cb80ef463d1881 Benjamin LaHaise 2012-04-27 739
d826eb14ecef35 Eric Dumazet 2011-11-09 740 skb_dst_drop(skb);
cb75994ec311b2 Wang Chen 2007-12-03 741
850cbaddb52dfd Paolo Abeni 2016-10-21 742 return __udpv6_queue_rcv_skb(sk, skb);
3e215c8d1b6b77 James M Leddy 2014-06-25 743
6a5dc9e598fe90 Eric Dumazet 2013-04-29 744 csum_error:
02c223470c3cc3 Eric Dumazet 2016-04-27 745 __UDP6_INC_STATS(sock_net(sk), UDP_MIB_CSUMERRORS, is_udplite);
ba4e58eca8aa94 Gerrit Renker 2006-11-27 746 drop:
02c223470c3cc3 Eric Dumazet 2016-04-27 747 __UDP6_INC_STATS(sock_net(sk), UDP_MIB_INERRORS, is_udplite);
cb80ef463d1881 Benjamin LaHaise 2012-04-27 748 atomic_inc(&sk->sk_drops);
ba4e58eca8aa94 Gerrit Renker 2006-11-27 749 kfree_skb(skb);
ba4e58eca8aa94 Gerrit Renker 2006-11-27 750 return -1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 751 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 752
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip