On 6/21/21 6:57 PM, kernel test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > head: 889bab4c367a0ef58208fd80fafa74bb6e2dca26 > commit: 75db5b07f8c393c216fd20f7adc9a167fc684c23 [8371/11714] net: qualcomm: rmnet: eliminate some ifdefs > config: nds32-randconfig-s031-20210621 (attached as .config) > compiler: nds32le-linux-gcc (GCC) 9.3.0 > reproduce: > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # apt-get install sparse > # sparse version: v0.6.3-341-g8af24329-dirty > # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=75db5b07f8c393c216fd20f7adc9a167fc684c23 I believe this problem has already been fixed, in a newer commit: 21ef9d6746f03 net: qualcomm: rmnet: always expose a few functions -Alex > git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git > git fetch --no-tags linux-next master > git checkout 75db5b07f8c393c216fd20f7adc9a167fc684c23 > # save the attached .config to linux build tree > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=nds32 > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > Note: the linux-next/master HEAD 889bab4c367a0ef58208fd80fafa74bb6e2dca26 builds fine. > It may have been fixed somewhere. > > All errors (new ones prefixed by >>): > > drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c: In function 'rmnet_map_checksum_downlink_packet': >>> drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:438:10: error: implicit declaration of function 'rmnet_map_ipv6_dl_csum_trailer'; did you mean 'rmnet_map_ipv4_dl_csum_trailer'? [-Werror=implicit-function-declaration] > 438 | return rmnet_map_ipv6_dl_csum_trailer(skb, csum_trailer, priv); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > | rmnet_map_ipv4_dl_csum_trailer > drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c: In function 'rmnet_map_v4_checksum_uplink_packet': >>> drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:472:3: error: implicit declaration of function 'rmnet_map_ipv6_ul_csum_header'; did you mean 'rmnet_map_ipv4_ul_csum_header'? [-Werror=implicit-function-declaration] > 472 | rmnet_map_ipv6_ul_csum_header(iphdr, ul_header, skb); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > | rmnet_map_ipv4_ul_csum_header > cc1: some warnings being treated as errors > > > vim +438 drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c > > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 410 > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 411 /* Validates packet checksums. Function takes a pointer to > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 412 * the beginning of a buffer which contains the IP payload + > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 413 * padding + checksum trailer. > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 414 * Only IPv4 and IPv6 are supported along with TCP & UDP. > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 415 * Fragmented or tunneled packets are not supported. > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 416 */ > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 417 int rmnet_map_checksum_downlink_packet(struct sk_buff *skb, u16 len) > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 418 { > bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 419 struct rmnet_priv *priv = netdev_priv(skb->dev); > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 420 struct rmnet_map_dl_csum_trailer *csum_trailer; > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 421 > bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 422 if (unlikely(!(skb->dev->features & NETIF_F_RXCSUM))) { > bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 423 priv->stats.csum_sw++; > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 424 return -EOPNOTSUPP; > bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 425 } > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 426 > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 427 csum_trailer = (struct rmnet_map_dl_csum_trailer *)(skb->data + len); > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 428 > cc1b21ba6251c8 Alex Elder 2021-03-15 429 if (!(csum_trailer->flags & MAP_CSUM_DL_VALID_FLAG)) { > bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 430 priv->stats.csum_valid_unset++; > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 431 return -EINVAL; > bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 432 } > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 433 > 75db5b07f8c393 Alex Elder 2021-06-11 434 if (skb->protocol == htons(ETH_P_IP)) > bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 435 return rmnet_map_ipv4_dl_csum_trailer(skb, csum_trailer, priv); > 75db5b07f8c393 Alex Elder 2021-06-11 436 > 75db5b07f8c393 Alex Elder 2021-06-11 437 if (IS_ENABLED(CONFIG_IPV6) && skb->protocol == htons(ETH_P_IPV6)) > bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 @438 return rmnet_map_ipv6_dl_csum_trailer(skb, csum_trailer, priv); > 75db5b07f8c393 Alex Elder 2021-06-11 439 > bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 440 priv->stats.csum_err_invalid_ip_version++; > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 441 > 75db5b07f8c393 Alex Elder 2021-06-11 442 return -EPROTONOSUPPORT; > bbd21b247cb596 Subash Abhinov Kasiviswanathan 2018-01-07 443 } > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 444 > b6e5d27e32ef60 Sharath Chandra Vurukala 2021-06-02 445 static void rmnet_map_v4_checksum_uplink_packet(struct sk_buff *skb, > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 446 struct net_device *orig_dev) > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 447 { > bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 448 struct rmnet_priv *priv = netdev_priv(orig_dev); > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 449 struct rmnet_map_ul_csum_header *ul_header; > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 450 void *iphdr; > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 451 > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 452 ul_header = (struct rmnet_map_ul_csum_header *) > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 453 skb_push(skb, sizeof(struct rmnet_map_ul_csum_header)); > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 454 > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 455 if (unlikely(!(orig_dev->features & > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 456 (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM)))) > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 457 goto sw_csum; > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 458 > 75db5b07f8c393 Alex Elder 2021-06-11 459 if (skb->ip_summed != CHECKSUM_PARTIAL) > 75db5b07f8c393 Alex Elder 2021-06-11 460 goto sw_csum; > 75db5b07f8c393 Alex Elder 2021-06-11 461 > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 462 iphdr = (char *)ul_header + > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 463 sizeof(struct rmnet_map_ul_csum_header); > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 464 > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 465 if (skb->protocol == htons(ETH_P_IP)) { > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 466 rmnet_map_ipv4_ul_csum_header(iphdr, ul_header, skb); > b6e5d27e32ef60 Sharath Chandra Vurukala 2021-06-02 467 priv->stats.csum_hw++; > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 468 return; > 75db5b07f8c393 Alex Elder 2021-06-11 469 } > 75db5b07f8c393 Alex Elder 2021-06-11 470 > 75db5b07f8c393 Alex Elder 2021-06-11 471 if (IS_ENABLED(CONFIG_IPV6) && skb->protocol == htons(ETH_P_IPV6)) { > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 @472 rmnet_map_ipv6_ul_csum_header(iphdr, ul_header, skb); > b6e5d27e32ef60 Sharath Chandra Vurukala 2021-06-02 473 priv->stats.csum_hw++; > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 474 return; > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 475 } > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 476 > 75db5b07f8c393 Alex Elder 2021-06-11 477 priv->stats.csum_err_invalid_ip_version++; > 75db5b07f8c393 Alex Elder 2021-06-11 478 > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 479 sw_csum: > 86ca860e12ec0f Alex Elder 2021-03-15 480 memset(ul_header, 0, sizeof(*ul_header)); > bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 481 > bbde32d38bfbbc Subash Abhinov Kasiviswanathan 2018-05-15 482 priv->stats.csum_sw++; > 5eb5f8608ef118 Subash Abhinov Kasiviswanathan 2018-01-07 483 } > e1d9a90a9bfdb0 Sharath Chandra Vurukala 2021-06-02 484 > > :::::: The code at line 438 was first introduced by commit > :::::: bbde32d38bfbbc4a6970498c7470a8a817122735 net: qualcomm: rmnet: Add support for ethtool private stats > > :::::: TO: Subash Abhinov Kasiviswanathan <subashab@xxxxxxxxxxxxxx> > :::::: CC: David S. Miller <davem@xxxxxxxxxxxxx> > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx >