All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@linaro.org>
To: oe-kbuild@lists.linux.dev, Jason Xing <kerneljasonxing@gmail.com>,
	davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
	pabeni@redhat.com, bjorn@kernel.org, magnus.karlsson@intel.com,
	maciej.fijalkowski@intel.com, jonathan.lemon@gmail.com,
	sdf@fomichev.me, ast@kernel.org, daniel@iogearbox.net,
	hawk@kernel.org, john.fastabend@gmail.com, horms@kernel.org,
	andrew+netdev@lunn.ch
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
	bpf@vger.kernel.org, netdev@vger.kernel.org,
	Jason Xing <kernelxing@tencent.com>
Subject: Re: [PATCH net-next 1/2] xsk: introduce XDP_GENERIC_XMIT_BATCH setsockopt
Date: Mon, 18 Aug 2025 09:20:20 +0300	[thread overview]
Message-ID: <202508171049.SGYNFbP3-lkp@intel.com> (raw)
In-Reply-To: <20250811131236.56206-2-kerneljasonxing@gmail.com>

Hi Jason,

kernel test robot noticed the following build warnings:

url:    https://github.com/intel-lab-lkp/linux/commits/Jason-Xing/xsk-introduce-XDP_GENERIC_XMIT_BATCH-setsockopt/20250811-211509
base:   net-next/main
patch link:    https://lore.kernel.org/r/20250811131236.56206-2-kerneljasonxing%40gmail.com
patch subject: [PATCH net-next 1/2] xsk: introduce XDP_GENERIC_XMIT_BATCH setsockopt
config: s390-randconfig-r073-20250817 (https://download.01.org/0day-ci/archive/20250817/202508171049.SGYNFbP3-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 8.5.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 <lkp@intel.com>
| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
| Closes: https://lore.kernel.org/r/202508171049.SGYNFbP3-lkp@intel.com/

smatch warnings:
net/xdp/xsk.c:1495 xsk_setsockopt() warn: inconsistent returns '&xs->mutex'.

vim +1495 net/xdp/xsk.c

48248366d9de2a Jason Xing         2025-08-11  1460  	case XDP_GENERIC_XMIT_BATCH:
48248366d9de2a Jason Xing         2025-08-11  1461  	{
48248366d9de2a Jason Xing         2025-08-11  1462  		unsigned int batch, batch_alloc_len;
48248366d9de2a Jason Xing         2025-08-11  1463  		struct sk_buff **new;
48248366d9de2a Jason Xing         2025-08-11  1464  
48248366d9de2a Jason Xing         2025-08-11  1465  		if (optlen != sizeof(batch))
48248366d9de2a Jason Xing         2025-08-11  1466  			return -EINVAL;
48248366d9de2a Jason Xing         2025-08-11  1467  		if (copy_from_sockptr(&batch, optval, sizeof(batch)))
48248366d9de2a Jason Xing         2025-08-11  1468  			return -EFAULT;
48248366d9de2a Jason Xing         2025-08-11  1469  		if (batch > xs->max_tx_budget)
48248366d9de2a Jason Xing         2025-08-11  1470  			return -EACCES;
48248366d9de2a Jason Xing         2025-08-11  1471  
48248366d9de2a Jason Xing         2025-08-11  1472  		mutex_lock(&xs->mutex);
48248366d9de2a Jason Xing         2025-08-11  1473  		if (!batch) {
48248366d9de2a Jason Xing         2025-08-11  1474  			kfree(xs->skb_batch);
48248366d9de2a Jason Xing         2025-08-11  1475  			xs->generic_xmit_batch = 0;
48248366d9de2a Jason Xing         2025-08-11  1476  			goto out;
48248366d9de2a Jason Xing         2025-08-11  1477  		}
48248366d9de2a Jason Xing         2025-08-11  1478  		batch_alloc_len = sizeof(struct sk_buff *) * batch;
48248366d9de2a Jason Xing         2025-08-11  1479  		new = kmalloc(batch_alloc_len, GFP_KERNEL);
48248366d9de2a Jason Xing         2025-08-11  1480  		if (!new)
48248366d9de2a Jason Xing         2025-08-11  1481  			return -ENOMEM;

mutex_unlock(&xs->mutex); before returning

48248366d9de2a Jason Xing         2025-08-11  1482  		if (xs->skb_batch)
48248366d9de2a Jason Xing         2025-08-11  1483  			kfree(xs->skb_batch);
48248366d9de2a Jason Xing         2025-08-11  1484  
48248366d9de2a Jason Xing         2025-08-11  1485  		xs->skb_batch = new;
48248366d9de2a Jason Xing         2025-08-11  1486  		xs->generic_xmit_batch = batch;
48248366d9de2a Jason Xing         2025-08-11  1487  out:
48248366d9de2a Jason Xing         2025-08-11  1488  		mutex_unlock(&xs->mutex);
48248366d9de2a Jason Xing         2025-08-11  1489  		return 0;
48248366d9de2a Jason Xing         2025-08-11  1490  	}
c0c77d8fb787cf Björn Töpel        2018-05-02  1491  	default:
c0c77d8fb787cf Björn Töpel        2018-05-02  1492  		break;
c0c77d8fb787cf Björn Töpel        2018-05-02  1493  	}
c0c77d8fb787cf Björn Töpel        2018-05-02  1494  
c0c77d8fb787cf Björn Töpel        2018-05-02 @1495  	return -ENOPROTOOPT;
c0c77d8fb787cf Björn Töpel        2018-05-02  1496  }

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: Re: [PATCH net-next 1/2] xsk: introduce XDP_GENERIC_XMIT_BATCH setsockopt
Date: Sun, 17 Aug 2025 11:05:59 +0800	[thread overview]
Message-ID: <202508171049.SGYNFbP3-lkp@intel.com> (raw)

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20250811131236.56206-2-kerneljasonxing@gmail.com>
References: <20250811131236.56206-2-kerneljasonxing@gmail.com>
TO: Jason Xing <kerneljasonxing@gmail.com>
TO: davem@davemloft.net
TO: edumazet@google.com
TO: kuba@kernel.org
TO: pabeni@redhat.com
TO: bjorn@kernel.org
TO: magnus.karlsson@intel.com
TO: maciej.fijalkowski@intel.com
TO: jonathan.lemon@gmail.com
TO: sdf@fomichev.me
TO: ast@kernel.org
TO: daniel@iogearbox.net
TO: hawk@kernel.org
TO: john.fastabend@gmail.com
TO: horms@kernel.org
TO: andrew+netdev@lunn.ch
CC: bpf@vger.kernel.org
CC: netdev@vger.kernel.org
CC: Jason Xing <kernelxing@tencent.com>

Hi Jason,

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/Jason-Xing/xsk-introduce-XDP_GENERIC_XMIT_BATCH-setsockopt/20250811-211509
base:   net-next/main
patch link:    https://lore.kernel.org/r/20250811131236.56206-2-kerneljasonxing%40gmail.com
patch subject: [PATCH net-next 1/2] xsk: introduce XDP_GENERIC_XMIT_BATCH setsockopt
:::::: branch date: 6 days ago
:::::: commit date: 6 days ago
config: s390-randconfig-r073-20250817 (https://download.01.org/0day-ci/archive/20250817/202508171049.SGYNFbP3-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 8.5.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 <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202508171049.SGYNFbP3-lkp@intel.com/

smatch warnings:
net/xdp/xsk.c:1495 xsk_setsockopt() warn: inconsistent returns '&xs->mutex'.

vim +1495 net/xdp/xsk.c

c05cd364581472 Kevin Laatz        2019-08-27  1343  
c0c77d8fb787cf Björn Töpel        2018-05-02  1344  static int xsk_setsockopt(struct socket *sock, int level, int optname,
a7b75c5a8c4144 Christoph Hellwig  2020-07-23  1345  			  sockptr_t optval, unsigned int optlen)
c0c77d8fb787cf Björn Töpel        2018-05-02  1346  {
c0c77d8fb787cf Björn Töpel        2018-05-02  1347  	struct sock *sk = sock->sk;
c0c77d8fb787cf Björn Töpel        2018-05-02  1348  	struct xdp_sock *xs = xdp_sk(sk);
c0c77d8fb787cf Björn Töpel        2018-05-02  1349  	int err;
c0c77d8fb787cf Björn Töpel        2018-05-02  1350  
c0c77d8fb787cf Björn Töpel        2018-05-02  1351  	if (level != SOL_XDP)
c0c77d8fb787cf Björn Töpel        2018-05-02  1352  		return -ENOPROTOOPT;
c0c77d8fb787cf Björn Töpel        2018-05-02  1353  
c0c77d8fb787cf Björn Töpel        2018-05-02  1354  	switch (optname) {
b9b6b68e8abd10 Björn Töpel        2018-05-02  1355  	case XDP_RX_RING:
f61459030ec7ff Magnus Karlsson    2018-05-02  1356  	case XDP_TX_RING:
b9b6b68e8abd10 Björn Töpel        2018-05-02  1357  	{
b9b6b68e8abd10 Björn Töpel        2018-05-02  1358  		struct xsk_queue **q;
b9b6b68e8abd10 Björn Töpel        2018-05-02  1359  		int entries;
b9b6b68e8abd10 Björn Töpel        2018-05-02  1360  
b9b6b68e8abd10 Björn Töpel        2018-05-02  1361  		if (optlen < sizeof(entries))
b9b6b68e8abd10 Björn Töpel        2018-05-02  1362  			return -EINVAL;
a7b75c5a8c4144 Christoph Hellwig  2020-07-23  1363  		if (copy_from_sockptr(&entries, optval, sizeof(entries)))
b9b6b68e8abd10 Björn Töpel        2018-05-02  1364  			return -EFAULT;
b9b6b68e8abd10 Björn Töpel        2018-05-02  1365  
b9b6b68e8abd10 Björn Töpel        2018-05-02  1366  		mutex_lock(&xs->mutex);
455302d1c9ae93 Ilya Maximets      2019-06-28  1367  		if (xs->state != XSK_READY) {
455302d1c9ae93 Ilya Maximets      2019-06-28  1368  			mutex_unlock(&xs->mutex);
455302d1c9ae93 Ilya Maximets      2019-06-28  1369  			return -EBUSY;
455302d1c9ae93 Ilya Maximets      2019-06-28  1370  		}
f61459030ec7ff Magnus Karlsson    2018-05-02  1371  		q = (optname == XDP_TX_RING) ? &xs->tx : &xs->rx;
b9b6b68e8abd10 Björn Töpel        2018-05-02  1372  		err = xsk_init_queue(entries, q, false);
77cd0d7b3f257f Magnus Karlsson    2019-08-14  1373  		if (!err && optname == XDP_TX_RING)
77cd0d7b3f257f Magnus Karlsson    2019-08-14  1374  			/* Tx needs to be explicitly woken up the first time */
77cd0d7b3f257f Magnus Karlsson    2019-08-14  1375  			xs->tx->ring->flags |= XDP_RING_NEED_WAKEUP;
b9b6b68e8abd10 Björn Töpel        2018-05-02  1376  		mutex_unlock(&xs->mutex);
b9b6b68e8abd10 Björn Töpel        2018-05-02  1377  		return err;
b9b6b68e8abd10 Björn Töpel        2018-05-02  1378  	}
c0c77d8fb787cf Björn Töpel        2018-05-02  1379  	case XDP_UMEM_REG:
c0c77d8fb787cf Björn Töpel        2018-05-02  1380  	{
c05cd364581472 Kevin Laatz        2019-08-27  1381  		size_t mr_size = sizeof(struct xdp_umem_reg);
c05cd364581472 Kevin Laatz        2019-08-27  1382  		struct xdp_umem_reg mr = {};
c0c77d8fb787cf Björn Töpel        2018-05-02  1383  		struct xdp_umem *umem;
c0c77d8fb787cf Björn Töpel        2018-05-02  1384  
c05cd364581472 Kevin Laatz        2019-08-27  1385  		if (optlen < sizeof(struct xdp_umem_reg_v1))
c05cd364581472 Kevin Laatz        2019-08-27  1386  			return -EINVAL;
341ac980eab90a Stanislav Fomichev 2023-11-27  1387  		else if (optlen < sizeof(mr))
32654bbd6313b4 Stanislav Fomichev 2024-07-26  1388  			mr_size = sizeof(struct xdp_umem_reg_v1);
32654bbd6313b4 Stanislav Fomichev 2024-07-26  1389  
32654bbd6313b4 Stanislav Fomichev 2024-07-26  1390  		BUILD_BUG_ON(sizeof(struct xdp_umem_reg_v1) >= sizeof(struct xdp_umem_reg));
32654bbd6313b4 Stanislav Fomichev 2024-07-26  1391  
32654bbd6313b4 Stanislav Fomichev 2024-07-26  1392  		/* Make sure the last field of the struct doesn't have
32654bbd6313b4 Stanislav Fomichev 2024-07-26  1393  		 * uninitialized padding. All padding has to be explicit
32654bbd6313b4 Stanislav Fomichev 2024-07-26  1394  		 * and has to be set to zero by the userspace to make
32654bbd6313b4 Stanislav Fomichev 2024-07-26  1395  		 * struct xdp_umem_reg extensible in the future.
32654bbd6313b4 Stanislav Fomichev 2024-07-26  1396  		 */
32654bbd6313b4 Stanislav Fomichev 2024-07-26  1397  		BUILD_BUG_ON(offsetof(struct xdp_umem_reg, tx_metadata_len) +
32654bbd6313b4 Stanislav Fomichev 2024-07-26  1398  			     sizeof_field(struct xdp_umem_reg, tx_metadata_len) !=
32654bbd6313b4 Stanislav Fomichev 2024-07-26  1399  			     sizeof(struct xdp_umem_reg));
c05cd364581472 Kevin Laatz        2019-08-27  1400  
a7b75c5a8c4144 Christoph Hellwig  2020-07-23  1401  		if (copy_from_sockptr(&mr, optval, mr_size))
c0c77d8fb787cf Björn Töpel        2018-05-02  1402  			return -EFAULT;
c0c77d8fb787cf Björn Töpel        2018-05-02  1403  
c0c77d8fb787cf Björn Töpel        2018-05-02  1404  		mutex_lock(&xs->mutex);
455302d1c9ae93 Ilya Maximets      2019-06-28  1405  		if (xs->state != XSK_READY || xs->umem) {
a49049ea257656 Björn Töpel        2018-05-22  1406  			mutex_unlock(&xs->mutex);
a49049ea257656 Björn Töpel        2018-05-22  1407  			return -EBUSY;
a49049ea257656 Björn Töpel        2018-05-22  1408  		}
c0c77d8fb787cf Björn Töpel        2018-05-02  1409  
a49049ea257656 Björn Töpel        2018-05-22  1410  		umem = xdp_umem_create(&mr);
a49049ea257656 Björn Töpel        2018-05-22  1411  		if (IS_ERR(umem)) {
c0c77d8fb787cf Björn Töpel        2018-05-02  1412  			mutex_unlock(&xs->mutex);
a49049ea257656 Björn Töpel        2018-05-22  1413  			return PTR_ERR(umem);
c0c77d8fb787cf Björn Töpel        2018-05-02  1414  		}
c0c77d8fb787cf Björn Töpel        2018-05-02  1415  
c0c77d8fb787cf Björn Töpel        2018-05-02  1416  		/* Make sure umem is ready before it can be seen by others */
c0c77d8fb787cf Björn Töpel        2018-05-02  1417  		smp_wmb();
9764f4b301c3e7 Björn Töpel        2019-09-04  1418  		WRITE_ONCE(xs->umem, umem);
c0c77d8fb787cf Björn Töpel        2018-05-02  1419  		mutex_unlock(&xs->mutex);
c0c77d8fb787cf Björn Töpel        2018-05-02  1420  		return 0;
c0c77d8fb787cf Björn Töpel        2018-05-02  1421  	}
423f38329d2679 Magnus Karlsson    2018-05-02  1422  	case XDP_UMEM_FILL_RING:
fe2308328cd2f2 Magnus Karlsson    2018-05-02  1423  	case XDP_UMEM_COMPLETION_RING:
423f38329d2679 Magnus Karlsson    2018-05-02  1424  	{
423f38329d2679 Magnus Karlsson    2018-05-02  1425  		struct xsk_queue **q;
423f38329d2679 Magnus Karlsson    2018-05-02  1426  		int entries;
423f38329d2679 Magnus Karlsson    2018-05-02  1427  
237f3cf13b20db Eric Dumazet       2024-04-04  1428  		if (optlen < sizeof(entries))
237f3cf13b20db Eric Dumazet       2024-04-04  1429  			return -EINVAL;
a7b75c5a8c4144 Christoph Hellwig  2020-07-23  1430  		if (copy_from_sockptr(&entries, optval, sizeof(entries)))
423f38329d2679 Magnus Karlsson    2018-05-02  1431  			return -EFAULT;
423f38329d2679 Magnus Karlsson    2018-05-02  1432  
423f38329d2679 Magnus Karlsson    2018-05-02  1433  		mutex_lock(&xs->mutex);
455302d1c9ae93 Ilya Maximets      2019-06-28  1434  		if (xs->state != XSK_READY) {
455302d1c9ae93 Ilya Maximets      2019-06-28  1435  			mutex_unlock(&xs->mutex);
455302d1c9ae93 Ilya Maximets      2019-06-28  1436  			return -EBUSY;
455302d1c9ae93 Ilya Maximets      2019-06-28  1437  		}
a49049ea257656 Björn Töpel        2018-05-22  1438  
7361f9c3d71955 Magnus Karlsson    2020-08-28  1439  		q = (optname == XDP_UMEM_FILL_RING) ? &xs->fq_tmp :
7361f9c3d71955 Magnus Karlsson    2020-08-28  1440  			&xs->cq_tmp;
b9b6b68e8abd10 Björn Töpel        2018-05-02  1441  		err = xsk_init_queue(entries, q, true);
423f38329d2679 Magnus Karlsson    2018-05-02  1442  		mutex_unlock(&xs->mutex);
423f38329d2679 Magnus Karlsson    2018-05-02  1443  		return err;
423f38329d2679 Magnus Karlsson    2018-05-02  1444  	}
45e359be1ce88f Jason Xing         2025-07-05  1445  	case XDP_MAX_TX_SKB_BUDGET:
45e359be1ce88f Jason Xing         2025-07-05  1446  	{
45e359be1ce88f Jason Xing         2025-07-05  1447  		unsigned int budget;
45e359be1ce88f Jason Xing         2025-07-05  1448  
45e359be1ce88f Jason Xing         2025-07-05  1449  		if (optlen != sizeof(budget))
45e359be1ce88f Jason Xing         2025-07-05  1450  			return -EINVAL;
45e359be1ce88f Jason Xing         2025-07-05  1451  		if (copy_from_sockptr(&budget, optval, sizeof(budget)))
45e359be1ce88f Jason Xing         2025-07-05  1452  			return -EFAULT;
45e359be1ce88f Jason Xing         2025-07-05  1453  		if (!xs->tx ||
45e359be1ce88f Jason Xing         2025-07-05  1454  		    budget < TX_BATCH_SIZE || budget > xs->tx->nentries)
45e359be1ce88f Jason Xing         2025-07-05  1455  			return -EACCES;
45e359be1ce88f Jason Xing         2025-07-05  1456  
45e359be1ce88f Jason Xing         2025-07-05  1457  		WRITE_ONCE(xs->max_tx_budget, budget);
45e359be1ce88f Jason Xing         2025-07-05  1458  		return 0;
45e359be1ce88f Jason Xing         2025-07-05  1459  	}
48248366d9de2a Jason Xing         2025-08-11  1460  	case XDP_GENERIC_XMIT_BATCH:
48248366d9de2a Jason Xing         2025-08-11  1461  	{
48248366d9de2a Jason Xing         2025-08-11  1462  		unsigned int batch, batch_alloc_len;
48248366d9de2a Jason Xing         2025-08-11  1463  		struct sk_buff **new;
48248366d9de2a Jason Xing         2025-08-11  1464  
48248366d9de2a Jason Xing         2025-08-11  1465  		if (optlen != sizeof(batch))
48248366d9de2a Jason Xing         2025-08-11  1466  			return -EINVAL;
48248366d9de2a Jason Xing         2025-08-11  1467  		if (copy_from_sockptr(&batch, optval, sizeof(batch)))
48248366d9de2a Jason Xing         2025-08-11  1468  			return -EFAULT;
48248366d9de2a Jason Xing         2025-08-11  1469  		if (batch > xs->max_tx_budget)
48248366d9de2a Jason Xing         2025-08-11  1470  			return -EACCES;
48248366d9de2a Jason Xing         2025-08-11  1471  
48248366d9de2a Jason Xing         2025-08-11  1472  		mutex_lock(&xs->mutex);
48248366d9de2a Jason Xing         2025-08-11  1473  		if (!batch) {
48248366d9de2a Jason Xing         2025-08-11  1474  			kfree(xs->skb_batch);
48248366d9de2a Jason Xing         2025-08-11  1475  			xs->generic_xmit_batch = 0;
48248366d9de2a Jason Xing         2025-08-11  1476  			goto out;
48248366d9de2a Jason Xing         2025-08-11  1477  		}
48248366d9de2a Jason Xing         2025-08-11  1478  		batch_alloc_len = sizeof(struct sk_buff *) * batch;
48248366d9de2a Jason Xing         2025-08-11  1479  		new = kmalloc(batch_alloc_len, GFP_KERNEL);
48248366d9de2a Jason Xing         2025-08-11  1480  		if (!new)
48248366d9de2a Jason Xing         2025-08-11  1481  			return -ENOMEM;
48248366d9de2a Jason Xing         2025-08-11  1482  		if (xs->skb_batch)
48248366d9de2a Jason Xing         2025-08-11  1483  			kfree(xs->skb_batch);
48248366d9de2a Jason Xing         2025-08-11  1484  
48248366d9de2a Jason Xing         2025-08-11  1485  		xs->skb_batch = new;
48248366d9de2a Jason Xing         2025-08-11  1486  		xs->generic_xmit_batch = batch;
48248366d9de2a Jason Xing         2025-08-11  1487  out:
48248366d9de2a Jason Xing         2025-08-11  1488  		mutex_unlock(&xs->mutex);
48248366d9de2a Jason Xing         2025-08-11  1489  		return 0;
48248366d9de2a Jason Xing         2025-08-11  1490  	}
c0c77d8fb787cf Björn Töpel        2018-05-02  1491  	default:
c0c77d8fb787cf Björn Töpel        2018-05-02  1492  		break;
c0c77d8fb787cf Björn Töpel        2018-05-02  1493  	}
c0c77d8fb787cf Björn Töpel        2018-05-02  1494  
c0c77d8fb787cf Björn Töpel        2018-05-02 @1495  	return -ENOPROTOOPT;
c0c77d8fb787cf Björn Töpel        2018-05-02  1496  }
c0c77d8fb787cf Björn Töpel        2018-05-02  1497  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

       reply	other threads:[~2025-08-18  6:20 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-17  3:05 kernel test robot [this message]
2025-08-18  6:20 ` [PATCH net-next 1/2] xsk: introduce XDP_GENERIC_XMIT_BATCH setsockopt Dan Carpenter
  -- strict thread matches above, loose matches on Subject: below --
2025-08-11 13:12 [PATCH net-next 0/2] xsk: improvement performance in copy mode Jason Xing
2025-08-11 13:12 ` [PATCH net-next 1/2] xsk: introduce XDP_GENERIC_XMIT_BATCH setsockopt Jason Xing
2025-08-12 16:40   ` Maciej Fijalkowski
2025-08-12 23:46     ` Jason Xing
2025-08-11 13:12 ` [PATCH net-next 2/2] xsk: support generic batch xmit in copy mode Jason Xing
2025-08-12 14:30   ` Jesper Dangaard Brouer
2025-08-12 17:49     ` Maciej Fijalkowski
2025-08-13  1:02       ` Jason Xing
2025-08-13 13:06         ` Jason Xing
2025-08-15 16:40           ` Jesper Dangaard Brouer
2025-08-16  0:03             ` Jason Xing
2025-08-16 13:42               ` Jason Xing
2025-08-13  0:57     ` Jason Xing
2025-08-15  6:44     ` Jason Xing
2025-08-21 17:29       ` Jesper Dangaard Brouer
2025-08-22  1:13         ` Jason Xing

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=202508171049.SGYNFbP3-lkp@intel.com \
    --to=dan.carpenter@linaro.org \
    --cc=andrew+netdev@lunn.ch \
    --cc=ast@kernel.org \
    --cc=bjorn@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=hawk@kernel.org \
    --cc=horms@kernel.org \
    --cc=john.fastabend@gmail.com \
    --cc=jonathan.lemon@gmail.com \
    --cc=kerneljasonxing@gmail.com \
    --cc=kernelxing@tencent.com \
    --cc=kuba@kernel.org \
    --cc=lkp@intel.com \
    --cc=maciej.fijalkowski@intel.com \
    --cc=magnus.karlsson@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=oe-kbuild@lists.linux.dev \
    --cc=pabeni@redhat.com \
    --cc=sdf@fomichev.me \
    /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.