From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: Re: [RFC net-next v4 2/8] xsk: add TX timestamp and TX checksum offload support
Date: Mon, 7 Aug 2023 00:56:37 +0800 [thread overview]
Message-ID: <202308070029.iaEW5Co2-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20230724235957.1953861-3-sdf@google.com>
References: <20230724235957.1953861-3-sdf@google.com>
TO: Stanislav Fomichev <sdf@google.com>
Hi Stanislav,
[This is a private test report for your RFC patch.]
kernel test robot noticed the following build warnings:
[auto build test WARNING on net-next/main]
url: https://github.com/intel-lab-lkp/linux/commits/Stanislav-Fomichev/xsk-Support-XDP_TX_METADATA_LEN/20230725-080600
base: net-next/main
patch link: https://lore.kernel.org/r/20230724235957.1953861-3-sdf%40google.com
patch subject: [RFC net-next v4 2/8] xsk: add TX timestamp and TX checksum offload support
:::::: branch date: 13 days ago
:::::: commit date: 13 days ago
config: i386-randconfig-m021-20230806 (https://download.01.org/0day-ci/archive/20230807/202308070029.iaEW5Co2-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230807/202308070029.iaEW5Co2-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>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202308070029.iaEW5Co2-lkp@intel.com/
New smatch warnings:
net/xdp/xsk.c:707 xsk_build_skb() error: uninitialized symbol 'hr'.
Old smatch warnings:
net/xdp/xsk.c:733 xsk_build_skb() error: 'skb' dereferencing possible ERR_PTR()
net/xdp/xsk.c:1178 xsk_bind() warn: passing a valid pointer to 'PTR_ERR'
vim +/hr +707 net/xdp/xsk.c
9c8f21e6f8856a Xuan Zhuo 2021-02-18 634
9c8f21e6f8856a Xuan Zhuo 2021-02-18 635 static struct sk_buff *xsk_build_skb(struct xdp_sock *xs,
9c8f21e6f8856a Xuan Zhuo 2021-02-18 636 struct xdp_desc *desc)
9c8f21e6f8856a Xuan Zhuo 2021-02-18 637 {
105eed6b3f493a Stanislav Fomichev 2023-07-24 638 struct xsk_tx_metadata *meta = NULL;
9c8f21e6f8856a Xuan Zhuo 2021-02-18 639 struct net_device *dev = xs->dev;
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 640 struct sk_buff *skb = xs->skb;
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 641 int err;
9c8f21e6f8856a Xuan Zhuo 2021-02-18 642
9c8f21e6f8856a Xuan Zhuo 2021-02-18 643 if (dev->priv_flags & IFF_TX_SKB_NO_LINEAR) {
9c8f21e6f8856a Xuan Zhuo 2021-02-18 644 skb = xsk_build_skb_zerocopy(xs, desc);
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 645 if (IS_ERR(skb)) {
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 646 err = PTR_ERR(skb);
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 647 goto free_err;
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 648 }
9c8f21e6f8856a Xuan Zhuo 2021-02-18 649 } else {
9c8f21e6f8856a Xuan Zhuo 2021-02-18 650 u32 hr, tr, len;
9c8f21e6f8856a Xuan Zhuo 2021-02-18 651 void *buffer;
9c8f21e6f8856a Xuan Zhuo 2021-02-18 652
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 653 buffer = xsk_buff_raw_get_data(xs->pool, desc->addr);
9c8f21e6f8856a Xuan Zhuo 2021-02-18 654 len = desc->len;
9c8f21e6f8856a Xuan Zhuo 2021-02-18 655
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 656 if (!skb) {
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 657 hr = max(NET_SKB_PAD, L1_CACHE_ALIGN(dev->needed_headroom));
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 658 tr = dev->needed_tailroom;
9c8f21e6f8856a Xuan Zhuo 2021-02-18 659 skb = sock_alloc_send_skb(&xs->sk, hr + len + tr, 1, &err);
9c8f21e6f8856a Xuan Zhuo 2021-02-18 660 if (unlikely(!skb))
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 661 goto free_err;
9c8f21e6f8856a Xuan Zhuo 2021-02-18 662
9c8f21e6f8856a Xuan Zhuo 2021-02-18 663 skb_reserve(skb, hr);
9c8f21e6f8856a Xuan Zhuo 2021-02-18 664 skb_put(skb, len);
9c8f21e6f8856a Xuan Zhuo 2021-02-18 665
9c8f21e6f8856a Xuan Zhuo 2021-02-18 666 err = skb_store_bits(skb, 0, buffer, len);
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 667 if (unlikely(err))
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 668 goto free_err;
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 669 } else {
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 670 int nr_frags = skb_shinfo(skb)->nr_frags;
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 671 struct page *page;
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 672 u8 *vaddr;
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 673
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 674 if (unlikely(nr_frags == (MAX_SKB_FRAGS - 1) && xp_mb_desc(desc))) {
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 675 err = -EFAULT;
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 676 goto free_err;
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 677 }
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 678
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 679 page = alloc_page(xs->sk.sk_allocation);
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 680 if (unlikely(!page)) {
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 681 err = -EAGAIN;
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 682 goto free_err;
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 683 }
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 684
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 685 vaddr = kmap_local_page(page);
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 686 memcpy(vaddr, buffer, len);
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 687 kunmap_local(vaddr);
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 688
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 689 skb_add_rx_frag(skb, nr_frags, page, 0, len, 0);
9c8f21e6f8856a Xuan Zhuo 2021-02-18 690 }
105eed6b3f493a Stanislav Fomichev 2023-07-24 691
105eed6b3f493a Stanislav Fomichev 2023-07-24 692 if (desc->options & XDP_TX_METADATA) {
105eed6b3f493a Stanislav Fomichev 2023-07-24 693 if (unlikely(xs->tx_metadata_len == 0)) {
105eed6b3f493a Stanislav Fomichev 2023-07-24 694 err = -EINVAL;
105eed6b3f493a Stanislav Fomichev 2023-07-24 695 goto free_err;
105eed6b3f493a Stanislav Fomichev 2023-07-24 696 }
105eed6b3f493a Stanislav Fomichev 2023-07-24 697
105eed6b3f493a Stanislav Fomichev 2023-07-24 698 meta = buffer - xs->tx_metadata_len;
105eed6b3f493a Stanislav Fomichev 2023-07-24 699
105eed6b3f493a Stanislav Fomichev 2023-07-24 700 if (meta->flags & XDP_TX_METADATA_CHECKSUM) {
105eed6b3f493a Stanislav Fomichev 2023-07-24 701 if (unlikely(meta->csum_start + meta->csum_offset +
105eed6b3f493a Stanislav Fomichev 2023-07-24 702 sizeof(__sum16) > len)) {
105eed6b3f493a Stanislav Fomichev 2023-07-24 703 err = -EINVAL;
105eed6b3f493a Stanislav Fomichev 2023-07-24 704 goto free_err;
105eed6b3f493a Stanislav Fomichev 2023-07-24 705 }
105eed6b3f493a Stanislav Fomichev 2023-07-24 706
105eed6b3f493a Stanislav Fomichev 2023-07-24 @707 skb->csum_start = hr + meta->csum_start;
105eed6b3f493a Stanislav Fomichev 2023-07-24 708 skb->csum_offset = meta->csum_offset;
105eed6b3f493a Stanislav Fomichev 2023-07-24 709 skb->ip_summed = CHECKSUM_PARTIAL;
105eed6b3f493a Stanislav Fomichev 2023-07-24 710
105eed6b3f493a Stanislav Fomichev 2023-07-24 711 if (unlikely(meta->flags & XDP_TX_METADATA_CHECKSUM_SW)) {
105eed6b3f493a Stanislav Fomichev 2023-07-24 712 err = skb_checksum_help(skb);
105eed6b3f493a Stanislav Fomichev 2023-07-24 713 if (err)
105eed6b3f493a Stanislav Fomichev 2023-07-24 714 goto free_err;
105eed6b3f493a Stanislav Fomichev 2023-07-24 715 }
105eed6b3f493a Stanislav Fomichev 2023-07-24 716 }
105eed6b3f493a Stanislav Fomichev 2023-07-24 717 }
9c8f21e6f8856a Xuan Zhuo 2021-02-18 718 }
9c8f21e6f8856a Xuan Zhuo 2021-02-18 719
9c8f21e6f8856a Xuan Zhuo 2021-02-18 720 skb->dev = dev;
9c8f21e6f8856a Xuan Zhuo 2021-02-18 721 skb->priority = xs->sk.sk_priority;
9c8f21e6f8856a Xuan Zhuo 2021-02-18 722 skb->mark = xs->sk.sk_mark;
9c8f21e6f8856a Xuan Zhuo 2021-02-18 723 skb->destructor = xsk_destruct_skb;
105eed6b3f493a Stanislav Fomichev 2023-07-24 724 skb_shinfo(skb)->xsk_meta = meta;
b7f72a30e9ac25 Tirthendu Sarkar 2023-07-19 725 xsk_set_destructor_arg(skb);
9c8f21e6f8856a Xuan Zhuo 2021-02-18 726
9c8f21e6f8856a Xuan Zhuo 2021-02-18 727 return skb;
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 728
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 729 free_err:
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 730 if (err == -EAGAIN) {
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 731 xsk_cq_cancel_locked(xs, 1);
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 732 } else {
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 733 xsk_set_destructor_arg(skb);
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 734 xsk_drop_skb(skb);
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 735 xskq_cons_release(xs->tx);
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 736 }
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 737
cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 738 return ERR_PTR(err);
9c8f21e6f8856a Xuan Zhuo 2021-02-18 739 }
9c8f21e6f8856a Xuan Zhuo 2021-02-18 740
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2023-08-06 16:57 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-06 16:56 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-08-07 1:52 [RFC net-next v4 2/8] xsk: add TX timestamp and TX checksum offload support kernel test robot
2023-07-24 23:59 [RFC net-next v4 0/8] xsk: TX metadata Stanislav Fomichev
2023-07-24 23:59 ` [RFC net-next v4 2/8] xsk: add TX timestamp and TX checksum offload support Stanislav Fomichev
2023-07-25 19:28 ` Simon Horman
2023-07-25 20:30 ` Stanislav Fomichev
2023-07-25 21:28 ` Jakub Kicinski
2023-07-25 22:40 ` Stanislav Fomichev
2023-07-26 7:47 ` Simon Horman
2023-07-25 20:54 ` Willem de Bruijn
2023-07-25 22:39 ` Stanislav Fomichev
2023-07-25 23:10 ` Willem de Bruijn
2023-07-25 23:48 ` Stanislav Fomichev
2023-07-27 14:11 ` Jesper Dangaard Brouer
2023-07-27 16:37 ` Stanislav Fomichev
2023-07-25 20:58 ` Willem de Bruijn
2023-07-28 11:56 ` Jesper Dangaard Brouer
2023-07-28 13:19 ` Willem de Bruijn
2023-08-07 5:47 ` Dan Carpenter
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=202308070029.iaEW5Co2-lkp@intel.com \
--to=lkp@intel.com \
--cc=error27@gmail.com \
--cc=oe-kbuild@lists.linux.dev \
/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.