From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oi1-f176.google.com (mail-oi1-f176.google.com [209.85.167.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6787425E471 for ; Mon, 14 Jul 2025 19:05:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.176 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752519903; cv=none; b=HGBB+Uqsmt8fzjPdAY7FGcH0L1AM2cDLVVx9C+fvoi/YeWMBFutDM5a0WUz+Welt2heizWuhvCX3khq2VfNDvSgGjtC4oWsjcQeCscj7eZzICIcBlNZ2jYD8nPEzBrg/nq6W9RNdYWX8fCF4z8gV35CCZcLpEVNCuX06WXQL6dQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752519903; c=relaxed/simple; bh=q+olkIxO6QSEQI4AAJlhbaSdpfzA/5MYP0ugPj8Pg54=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition:In-Reply-To; b=obxaNQDXO3zRcAOuzMUvnCqRY/07YemQMBbyeUxtsaXp8cZRWL9SLouoijsbAqzM8T3YzZKB0z4l9Qs4gV7DR045uRPEHozHI4TOO9XlTWwxhGxj42DZAhJ7rwIYtVTl1pVMh1O5hznq3aPN4KnmthXDHO1sHG/WbN30naJJaM4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=sTCwD1sV; arc=none smtp.client-ip=209.85.167.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="sTCwD1sV" Received: by mail-oi1-f176.google.com with SMTP id 5614622812f47-40a4de175a3so2381662b6e.0 for ; Mon, 14 Jul 2025 12:05:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752519899; x=1753124699; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:message-id:subject:cc :to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=BdAiWES77XaDLnO1vrNoocWtjPZ3jZaAJoidOert7wA=; b=sTCwD1sVSnftV5hJjV8nFHfLb4mon1BUI16mKTCnYmtsyTmntOioiWqOo/rtCdH2rI GkUHmxMPYJYEJ2OpcdMV7uZIxtUMAPZDdGVl80ymcZPY5NjwvfMSf5/lMWhqIcMqWPLL DrTMXQPSzYHUtVrJbMizG11FocMlG5tTx43NKmQr4PtmjHGKjPuVx/jjW5FJDvJrcc8o KP7jJfxad7TvkbV8auzqpNgnlVr+QgVwtlP5ruH7MOig/f7nknRhEtSneFv5ShiNFNUJ mHnGlkspSxfvb43+eRM7nxZ5xIjF0VPA1+nm3Ez7Q9suQQEMr2pXbm18D6bkn5wZihCP YxOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752519899; x=1753124699; h=in-reply-to:content-disposition:mime-version:message-id:subject:cc :to:from:date:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=BdAiWES77XaDLnO1vrNoocWtjPZ3jZaAJoidOert7wA=; b=DuY4IW8WgmyZ0EsW5vEU9/v94zYaUCtGSuWfBy+FFzWapEeSYZQ6FdNLAjBXiSRD0x kVbBwtB5YWdwsgToA8fB+ca3mBvdelLNWjJzFTp1dZJHONDgVXZnhc8phyCKmEqypHoT I+qnOPyVx3ImI/aSnSeQW4zXbD6W4O5HGa6BJ7dyus/m4tejREmFkqvxFJGL5VhQ0NdC w6WXwpvbd6GTiZg7KmQKXaNyObeYQ+Ia7qxgPl9uNmUot2IOrKcbrEO/H2oS8u4i/xIr rr2oWUp5s3DWXrwlLY1SGE9bY2xrKA9UoFs2V3/yfoMCaAy17mVqWJTZMzUu1rhdnu7U k+OQ== X-Forwarded-Encrypted: i=1; AJvYcCVsHIB6B8A4SHxQBEoTHv2GeIVpi+QI52zcCLk8slwcx9C/nGeR+OKL+bwZXSVCyAa92exBMeY=@vger.kernel.org X-Gm-Message-State: AOJu0YxZasIhI9Z0fdB9v5vHq5Fv55cdOurgy41sh8l4TTmJREVMJpTf wre6R6KrKB8u/GIac3HFf1dtTSO9vzN+Kvp8lac6+6B3PT1LA2ztY0uis/JlpXlhfnc= X-Gm-Gg: ASbGncuw80HFW/730YjTOh8x2A2JJQVshUXb43EiIU8mfJoupEUfyX6L1iFuMRj7RPP 7HRR6KfG6TXODw9gmmqQnBSQzdDtpmf7pCFr51Wt6hfY98/kiAwbdD7R+0HbLl5v9AbwIbzXXU7 g14hGAntg3VMaRa2c+o+dsJNhwgwmj7j+edvLf2qWqB2cSRP9VVznKjegucTwH6lWkR1AcT5G+t CU/hr3Hl9+MfENooZi1x8pjacHnb7Byas0V+6hg4RcyHW0/AbZrT8rdeEm1Mc0yarEnQ7ONk7S9 ILRu8eM8LSShDfTttJmzVJHSYF58joOzGfSopm1fEMoN4npJOmgVhLP/+Bk1vDcEbAU6YLnS3MH dkeX7msD9uSLLd0SPKXcaLpBJ4NXASdQZtkYzGinu X-Google-Smtp-Source: AGHT+IG9VB44/JBXZgU5GVNb+6d0g32N/Qwu1+N9nXvPuxbsMeajY2PfOx1sKYCIufDjdIs+/yM6kg== X-Received: by 2002:a05:6808:4f63:b0:408:fb4c:859e with SMTP id 5614622812f47-4150d745cfcmr9800740b6e.6.1752519899258; Mon, 14 Jul 2025 12:04:59 -0700 (PDT) Received: from localhost ([2603:8080:b800:f700:6bb2:d90f:e5da:befc]) by smtp.gmail.com with ESMTPSA id 5614622812f47-414196c9b24sm1580366b6e.17.2025.07.14.12.04.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 12:04:58 -0700 (PDT) Date: Mon, 14 Jul 2025 22:04:57 +0300 From: Dan Carpenter To: oe-kbuild@lists.linux.dev, Maciej Fijalkowski , bpf@vger.kernel.org, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev, netdev@vger.kernel.org, magnus.karlsson@intel.com, stfomichev@gmail.com, Maciej Fijalkowski , Eryk Kubanski Subject: Re: [PATCH v2 bpf] xsk: fix immature cq descriptor production Message-ID: <440ed42e-16d5-4b00-9402-1f26d73715d4@suswa.mountain> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250705135512.1963216-1-maciej.fijalkowski@intel.com> Hi Maciej, kernel test robot noticed the following build warnings: url: https://github.com/intel-lab-lkp/linux/commits/Maciej-Fijalkowski/xsk-fix-immature-cq-descriptor-production/20250705-215714 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git master patch link: https://lore.kernel.org/r/20250705135512.1963216-1-maciej.fijalkowski%40intel.com patch subject: [PATCH v2 bpf] xsk: fix immature cq descriptor production config: x86_64-randconfig-r071-20250706 (https://download.01.org/0day-ci/archive/20250706/202507061447.DwFSGum1-lkp@intel.com/config) compiler: gcc-12 (Debian 12.2.0-14+deb12u1) 12.2.0 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 | Reported-by: Dan Carpenter | Closes: https://lore.kernel.org/r/202507061447.DwFSGum1-lkp@intel.com/ smatch warnings: net/xdp/xsk.c:819 xsk_build_skb() warn: passing zero to 'ERR_PTR' vim +/ERR_PTR +819 net/xdp/xsk.c 9c8f21e6f8856a Xuan Zhuo 2021-02-18 689 static struct sk_buff *xsk_build_skb(struct xdp_sock *xs, 9c8f21e6f8856a Xuan Zhuo 2021-02-18 690 struct xdp_desc *desc) 9c8f21e6f8856a Xuan Zhuo 2021-02-18 691 { 48eb03dd26304c Stanislav Fomichev 2023-11-27 692 struct xsk_tx_metadata *meta = NULL; 9c8f21e6f8856a Xuan Zhuo 2021-02-18 693 struct net_device *dev = xs->dev; 67a37dcecabbf0 Maciej Fijalkowski 2025-07-05 694 struct xsk_addrs *addrs = NULL; cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 695 struct sk_buff *skb = xs->skb; 48eb03dd26304c Stanislav Fomichev 2023-11-27 696 bool first_frag = false; cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 697 int err; 9c8f21e6f8856a Xuan Zhuo 2021-02-18 698 9c8f21e6f8856a Xuan Zhuo 2021-02-18 699 if (dev->priv_flags & IFF_TX_SKB_NO_LINEAR) { 9c8f21e6f8856a Xuan Zhuo 2021-02-18 700 skb = xsk_build_skb_zerocopy(xs, desc); cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 701 if (IS_ERR(skb)) { cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 702 err = PTR_ERR(skb); cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 703 goto free_err; cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 704 } 9c8f21e6f8856a Xuan Zhuo 2021-02-18 705 } else { 9c8f21e6f8856a Xuan Zhuo 2021-02-18 706 u32 hr, tr, len; 9c8f21e6f8856a Xuan Zhuo 2021-02-18 707 void *buffer; 9c8f21e6f8856a Xuan Zhuo 2021-02-18 708 cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 709 buffer = xsk_buff_raw_get_data(xs->pool, desc->addr); 9c8f21e6f8856a Xuan Zhuo 2021-02-18 710 len = desc->len; 9c8f21e6f8856a Xuan Zhuo 2021-02-18 711 cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 712 if (!skb) { 0c0d0f42ffa6ac Felix Maurer 2024-11-14 713 first_frag = true; 0c0d0f42ffa6ac Felix Maurer 2024-11-14 714 cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 715 hr = max(NET_SKB_PAD, L1_CACHE_ALIGN(dev->needed_headroom)); cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 716 tr = dev->needed_tailroom; 9c8f21e6f8856a Xuan Zhuo 2021-02-18 717 skb = sock_alloc_send_skb(&xs->sk, hr + len + tr, 1, &err); 9c8f21e6f8856a Xuan Zhuo 2021-02-18 718 if (unlikely(!skb)) cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 719 goto free_err; 9c8f21e6f8856a Xuan Zhuo 2021-02-18 720 9c8f21e6f8856a Xuan Zhuo 2021-02-18 721 skb_reserve(skb, hr); 9c8f21e6f8856a Xuan Zhuo 2021-02-18 722 skb_put(skb, len); 9c8f21e6f8856a Xuan Zhuo 2021-02-18 723 9c8f21e6f8856a Xuan Zhuo 2021-02-18 724 err = skb_store_bits(skb, 0, buffer, len); 0c0d0f42ffa6ac Felix Maurer 2024-11-14 725 if (unlikely(err)) cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 726 goto free_err; 67a37dcecabbf0 Maciej Fijalkowski 2025-07-05 727 67a37dcecabbf0 Maciej Fijalkowski 2025-07-05 728 addrs = kzalloc(sizeof(*addrs), GFP_KERNEL); 67a37dcecabbf0 Maciej Fijalkowski 2025-07-05 729 if (!addrs) 67a37dcecabbf0 Maciej Fijalkowski 2025-07-05 730 goto free_err; err is not set on this path. regards, dan carpenter 67a37dcecabbf0 Maciej Fijalkowski 2025-07-05 731 67a37dcecabbf0 Maciej Fijalkowski 2025-07-05 732 xsk_set_destructor_arg(skb, addrs); 67a37dcecabbf0 Maciej Fijalkowski 2025-07-05 733 cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 734 } else { cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 735 int nr_frags = skb_shinfo(skb)->nr_frags; cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 736 struct page *page; cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 737 u8 *vaddr; cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 738 cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 739 if (unlikely(nr_frags == (MAX_SKB_FRAGS - 1) && xp_mb_desc(desc))) { 9d0a67b9d42c63 Tirthendu Sarkar 2023-08-23 740 err = -EOVERFLOW; cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 741 goto free_err; cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 742 } cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 743 cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 744 page = alloc_page(xs->sk.sk_allocation); cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 745 if (unlikely(!page)) { cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 746 err = -EAGAIN; cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 747 goto free_err; cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 748 } cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 749 cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 750 vaddr = kmap_local_page(page); cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 751 memcpy(vaddr, buffer, len); cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 752 kunmap_local(vaddr); cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 753 2127c604383666 Sebastian Andrzej Siewior 2024-02-02 754 skb_add_rx_frag(skb, nr_frags, page, 0, len, PAGE_SIZE); 2127c604383666 Sebastian Andrzej Siewior 2024-02-02 755 refcount_add(PAGE_SIZE, &xs->sk.sk_wmem_alloc); 9c8f21e6f8856a Xuan Zhuo 2021-02-18 756 } 48eb03dd26304c Stanislav Fomichev 2023-11-27 757 48eb03dd26304c Stanislav Fomichev 2023-11-27 758 if (first_frag && desc->options & XDP_TX_METADATA) { 48eb03dd26304c Stanislav Fomichev 2023-11-27 759 if (unlikely(xs->pool->tx_metadata_len == 0)) { 48eb03dd26304c Stanislav Fomichev 2023-11-27 760 err = -EINVAL; 48eb03dd26304c Stanislav Fomichev 2023-11-27 761 goto free_err; 48eb03dd26304c Stanislav Fomichev 2023-11-27 762 } 48eb03dd26304c Stanislav Fomichev 2023-11-27 763 48eb03dd26304c Stanislav Fomichev 2023-11-27 764 meta = buffer - xs->pool->tx_metadata_len; ce59f9686e0eca Stanislav Fomichev 2023-11-27 765 if (unlikely(!xsk_buff_valid_tx_metadata(meta))) { ce59f9686e0eca Stanislav Fomichev 2023-11-27 766 err = -EINVAL; ce59f9686e0eca Stanislav Fomichev 2023-11-27 767 goto free_err; ce59f9686e0eca Stanislav Fomichev 2023-11-27 768 } 48eb03dd26304c Stanislav Fomichev 2023-11-27 769 48eb03dd26304c Stanislav Fomichev 2023-11-27 770 if (meta->flags & XDP_TXMD_FLAGS_CHECKSUM) { 48eb03dd26304c Stanislav Fomichev 2023-11-27 771 if (unlikely(meta->request.csum_start + 48eb03dd26304c Stanislav Fomichev 2023-11-27 772 meta->request.csum_offset + 48eb03dd26304c Stanislav Fomichev 2023-11-27 773 sizeof(__sum16) > len)) { 48eb03dd26304c Stanislav Fomichev 2023-11-27 774 err = -EINVAL; 48eb03dd26304c Stanislav Fomichev 2023-11-27 775 goto free_err; 48eb03dd26304c Stanislav Fomichev 2023-11-27 776 } 48eb03dd26304c Stanislav Fomichev 2023-11-27 777 48eb03dd26304c Stanislav Fomichev 2023-11-27 778 skb->csum_start = hr + meta->request.csum_start; 48eb03dd26304c Stanislav Fomichev 2023-11-27 779 skb->csum_offset = meta->request.csum_offset; 48eb03dd26304c Stanislav Fomichev 2023-11-27 780 skb->ip_summed = CHECKSUM_PARTIAL; 11614723af26e7 Stanislav Fomichev 2023-11-27 781 11614723af26e7 Stanislav Fomichev 2023-11-27 782 if (unlikely(xs->pool->tx_sw_csum)) { 11614723af26e7 Stanislav Fomichev 2023-11-27 783 err = skb_checksum_help(skb); 11614723af26e7 Stanislav Fomichev 2023-11-27 784 if (err) 11614723af26e7 Stanislav Fomichev 2023-11-27 785 goto free_err; 11614723af26e7 Stanislav Fomichev 2023-11-27 786 } 48eb03dd26304c Stanislav Fomichev 2023-11-27 787 } ca4419f15abd19 Song Yoong Siang 2025-02-16 788 ca4419f15abd19 Song Yoong Siang 2025-02-16 789 if (meta->flags & XDP_TXMD_FLAGS_LAUNCH_TIME) ca4419f15abd19 Song Yoong Siang 2025-02-16 790 skb->skb_mstamp_ns = meta->request.launch_time; 48eb03dd26304c Stanislav Fomichev 2023-11-27 791 } 9c8f21e6f8856a Xuan Zhuo 2021-02-18 792 } 9c8f21e6f8856a Xuan Zhuo 2021-02-18 793 9c8f21e6f8856a Xuan Zhuo 2021-02-18 794 skb->dev = dev; 10bbf1652c1cca Eric Dumazet 2023-09-21 795 skb->priority = READ_ONCE(xs->sk.sk_priority); 3c5b4d69c358a9 Eric Dumazet 2023-07-28 796 skb->mark = READ_ONCE(xs->sk.sk_mark); 9c8f21e6f8856a Xuan Zhuo 2021-02-18 797 skb->destructor = xsk_destruct_skb; 48eb03dd26304c Stanislav Fomichev 2023-11-27 798 xsk_tx_metadata_to_compl(meta, &skb_shinfo(skb)->xsk_meta); 67a37dcecabbf0 Maciej Fijalkowski 2025-07-05 799 67a37dcecabbf0 Maciej Fijalkowski 2025-07-05 800 addrs = (struct xsk_addrs *)skb_shinfo(skb)->destructor_arg; 67a37dcecabbf0 Maciej Fijalkowski 2025-07-05 801 addrs->addrs[addrs->num_descs++] = desc->addr; 9c8f21e6f8856a Xuan Zhuo 2021-02-18 802 9c8f21e6f8856a Xuan Zhuo 2021-02-18 803 return skb; cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 804 cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 805 free_err: 0c0d0f42ffa6ac Felix Maurer 2024-11-14 806 if (first_frag && skb) 0c0d0f42ffa6ac Felix Maurer 2024-11-14 807 kfree_skb(skb); 0c0d0f42ffa6ac Felix Maurer 2024-11-14 808 9d0a67b9d42c63 Tirthendu Sarkar 2023-08-23 809 if (err == -EOVERFLOW) { 9d0a67b9d42c63 Tirthendu Sarkar 2023-08-23 810 /* Drop the packet */ 67a37dcecabbf0 Maciej Fijalkowski 2025-07-05 811 xsk_inc_skb_descs(xs->skb); 9d0a67b9d42c63 Tirthendu Sarkar 2023-08-23 812 xsk_drop_skb(xs->skb); cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 813 xskq_cons_release(xs->tx); 9d0a67b9d42c63 Tirthendu Sarkar 2023-08-23 814 } else { 9d0a67b9d42c63 Tirthendu Sarkar 2023-08-23 815 /* Let application retry */ e6c4047f512280 Maciej Fijalkowski 2024-10-07 816 xsk_cq_cancel_locked(xs->pool, 1); cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 817 } cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 818 cf24f5a5feeaae Tirthendu Sarkar 2023-07-19 @819 return ERR_PTR(err); 9c8f21e6f8856a Xuan Zhuo 2021-02-18 820 } -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki