All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <202508171049.SGYNFbP3-lkp@intel.com>

diff --git a/a/1.txt b/N1/1.txt
index 9ddb008..2a6b5db 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,18 +1,46 @@
+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 <dan.carpenter@linaro.org>
+| Reported-by: Dan Carpenter <error27@gmail.com>
 | Closes: https://lore.kernel.org/r/202508171049.SGYNFbP3-lkp@intel.com/
 
 smatch warnings:
@@ -20,6 +48,123 @@ 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;
@@ -42,9 +187,6 @@ vim +1495 net/xdp/xsk.c
 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  
@@ -60,6 +202,7 @@ 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
diff --git a/a/content_digest b/N1/content_digest
index f06fd27..ed5316d 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,46 +1,54 @@
- "ref\020250811131236.56206-2-kerneljasonxing@gmail.com\0"
- "From\0Dan Carpenter <dan.carpenter@linaro.org>\0"
+ "From\0kernel test robot <lkp@intel.com>\0"
  "Subject\0Re: [PATCH net-next 1/2] xsk: introduce XDP_GENERIC_XMIT_BATCH setsockopt\0"
- "Date\0Mon, 18 Aug 2025 09:20:20 +0300\0"
- "To\0oe-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\0"
+ "Date\0Sun, 17 Aug 2025 11:05:59 +0800\0"
+ "To\0oe-kbuild@lists.linux.dev\0"
  "Cc\0lkp@intel.com"
-  oe-kbuild-all@lists.linux.dev
-  bpf@vger.kernel.org
-  netdev@vger.kernel.org
- " Jason Xing <kernelxing@tencent.com>\0"
+ " Dan Carpenter <error27@gmail.com>\0"
  "\00:1\0"
  "b\0"
+ "BCC: lkp@intel.com\n"
+ "CC: oe-kbuild-all@lists.linux.dev\n"
+ "In-Reply-To: <20250811131236.56206-2-kerneljasonxing@gmail.com>\n"
+ "References: <20250811131236.56206-2-kerneljasonxing@gmail.com>\n"
+ "TO: Jason Xing <kerneljasonxing@gmail.com>\n"
+ "TO: davem@davemloft.net\n"
+ "TO: edumazet@google.com\n"
+ "TO: kuba@kernel.org\n"
+ "TO: pabeni@redhat.com\n"
+ "TO: bjorn@kernel.org\n"
+ "TO: magnus.karlsson@intel.com\n"
+ "TO: maciej.fijalkowski@intel.com\n"
+ "TO: jonathan.lemon@gmail.com\n"
+ "TO: sdf@fomichev.me\n"
+ "TO: ast@kernel.org\n"
+ "TO: daniel@iogearbox.net\n"
+ "TO: hawk@kernel.org\n"
+ "TO: john.fastabend@gmail.com\n"
+ "TO: horms@kernel.org\n"
+ "TO: andrew+netdev@lunn.ch\n"
+ "CC: bpf@vger.kernel.org\n"
+ "CC: netdev@vger.kernel.org\n"
+ "CC: Jason Xing <kernelxing@tencent.com>\n"
+ "\n"
  "Hi Jason,\n"
  "\n"
  "kernel test robot noticed the following build warnings:\n"
  "\n"
+ "[auto build test WARNING on net-next/main]\n"
+ "\n"
  "url:    https://github.com/intel-lab-lkp/linux/commits/Jason-Xing/xsk-introduce-XDP_GENERIC_XMIT_BATCH-setsockopt/20250811-211509\n"
  "base:   net-next/main\n"
  "patch link:    https://lore.kernel.org/r/20250811131236.56206-2-kerneljasonxing%40gmail.com\n"
  "patch subject: [PATCH net-next 1/2] xsk: introduce XDP_GENERIC_XMIT_BATCH setsockopt\n"
+ ":::::: branch date: 6 days ago\n"
+ ":::::: commit date: 6 days ago\n"
  "config: s390-randconfig-r073-20250817 (https://download.01.org/0day-ci/archive/20250817/202508171049.SGYNFbP3-lkp@intel.com/config)\n"
  "compiler: s390-linux-gcc (GCC) 8.5.0\n"
  "\n"
  "If you fix the issue in a separate patch/commit (i.e. not just a new version of\n"
  "the same patch/commit), kindly add following tags\n"
  "| Reported-by: kernel test robot <lkp@intel.com>\n"
- "| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>\n"
+ "| Reported-by: Dan Carpenter <error27@gmail.com>\n"
  "| Closes: https://lore.kernel.org/r/202508171049.SGYNFbP3-lkp@intel.com/\n"
  "\n"
  "smatch warnings:\n"
@@ -48,6 +56,123 @@
  "\n"
  "vim +1495 net/xdp/xsk.c\n"
  "\n"
+ "c05cd364581472 Kevin Laatz        2019-08-27  1343  \n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1344  static int xsk_setsockopt(struct socket *sock, int level, int optname,\n"
+ "a7b75c5a8c4144 Christoph Hellwig  2020-07-23  1345  \t\t\t  sockptr_t optval, unsigned int optlen)\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1346  {\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1347  \tstruct sock *sk = sock->sk;\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1348  \tstruct xdp_sock *xs = xdp_sk(sk);\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1349  \tint err;\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1350  \n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1351  \tif (level != SOL_XDP)\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1352  \t\treturn -ENOPROTOOPT;\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1353  \n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1354  \tswitch (optname) {\n"
+ "b9b6b68e8abd10 Bj\303\266rn T\303\266pel        2018-05-02  1355  \tcase XDP_RX_RING:\n"
+ "f61459030ec7ff Magnus Karlsson    2018-05-02  1356  \tcase XDP_TX_RING:\n"
+ "b9b6b68e8abd10 Bj\303\266rn T\303\266pel        2018-05-02  1357  \t{\n"
+ "b9b6b68e8abd10 Bj\303\266rn T\303\266pel        2018-05-02  1358  \t\tstruct xsk_queue **q;\n"
+ "b9b6b68e8abd10 Bj\303\266rn T\303\266pel        2018-05-02  1359  \t\tint entries;\n"
+ "b9b6b68e8abd10 Bj\303\266rn T\303\266pel        2018-05-02  1360  \n"
+ "b9b6b68e8abd10 Bj\303\266rn T\303\266pel        2018-05-02  1361  \t\tif (optlen < sizeof(entries))\n"
+ "b9b6b68e8abd10 Bj\303\266rn T\303\266pel        2018-05-02  1362  \t\t\treturn -EINVAL;\n"
+ "a7b75c5a8c4144 Christoph Hellwig  2020-07-23  1363  \t\tif (copy_from_sockptr(&entries, optval, sizeof(entries)))\n"
+ "b9b6b68e8abd10 Bj\303\266rn T\303\266pel        2018-05-02  1364  \t\t\treturn -EFAULT;\n"
+ "b9b6b68e8abd10 Bj\303\266rn T\303\266pel        2018-05-02  1365  \n"
+ "b9b6b68e8abd10 Bj\303\266rn T\303\266pel        2018-05-02  1366  \t\tmutex_lock(&xs->mutex);\n"
+ "455302d1c9ae93 Ilya Maximets      2019-06-28  1367  \t\tif (xs->state != XSK_READY) {\n"
+ "455302d1c9ae93 Ilya Maximets      2019-06-28  1368  \t\t\tmutex_unlock(&xs->mutex);\n"
+ "455302d1c9ae93 Ilya Maximets      2019-06-28  1369  \t\t\treturn -EBUSY;\n"
+ "455302d1c9ae93 Ilya Maximets      2019-06-28  1370  \t\t}\n"
+ "f61459030ec7ff Magnus Karlsson    2018-05-02  1371  \t\tq = (optname == XDP_TX_RING) ? &xs->tx : &xs->rx;\n"
+ "b9b6b68e8abd10 Bj\303\266rn T\303\266pel        2018-05-02  1372  \t\terr = xsk_init_queue(entries, q, false);\n"
+ "77cd0d7b3f257f Magnus Karlsson    2019-08-14  1373  \t\tif (!err && optname == XDP_TX_RING)\n"
+ "77cd0d7b3f257f Magnus Karlsson    2019-08-14  1374  \t\t\t/* Tx needs to be explicitly woken up the first time */\n"
+ "77cd0d7b3f257f Magnus Karlsson    2019-08-14  1375  \t\t\txs->tx->ring->flags |= XDP_RING_NEED_WAKEUP;\n"
+ "b9b6b68e8abd10 Bj\303\266rn T\303\266pel        2018-05-02  1376  \t\tmutex_unlock(&xs->mutex);\n"
+ "b9b6b68e8abd10 Bj\303\266rn T\303\266pel        2018-05-02  1377  \t\treturn err;\n"
+ "b9b6b68e8abd10 Bj\303\266rn T\303\266pel        2018-05-02  1378  \t}\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1379  \tcase XDP_UMEM_REG:\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1380  \t{\n"
+ "c05cd364581472 Kevin Laatz        2019-08-27  1381  \t\tsize_t mr_size = sizeof(struct xdp_umem_reg);\n"
+ "c05cd364581472 Kevin Laatz        2019-08-27  1382  \t\tstruct xdp_umem_reg mr = {};\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1383  \t\tstruct xdp_umem *umem;\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1384  \n"
+ "c05cd364581472 Kevin Laatz        2019-08-27  1385  \t\tif (optlen < sizeof(struct xdp_umem_reg_v1))\n"
+ "c05cd364581472 Kevin Laatz        2019-08-27  1386  \t\t\treturn -EINVAL;\n"
+ "341ac980eab90a Stanislav Fomichev 2023-11-27  1387  \t\telse if (optlen < sizeof(mr))\n"
+ "32654bbd6313b4 Stanislav Fomichev 2024-07-26  1388  \t\t\tmr_size = sizeof(struct xdp_umem_reg_v1);\n"
+ "32654bbd6313b4 Stanislav Fomichev 2024-07-26  1389  \n"
+ "32654bbd6313b4 Stanislav Fomichev 2024-07-26  1390  \t\tBUILD_BUG_ON(sizeof(struct xdp_umem_reg_v1) >= sizeof(struct xdp_umem_reg));\n"
+ "32654bbd6313b4 Stanislav Fomichev 2024-07-26  1391  \n"
+ "32654bbd6313b4 Stanislav Fomichev 2024-07-26  1392  \t\t/* Make sure the last field of the struct doesn't have\n"
+ "32654bbd6313b4 Stanislav Fomichev 2024-07-26  1393  \t\t * uninitialized padding. All padding has to be explicit\n"
+ "32654bbd6313b4 Stanislav Fomichev 2024-07-26  1394  \t\t * and has to be set to zero by the userspace to make\n"
+ "32654bbd6313b4 Stanislav Fomichev 2024-07-26  1395  \t\t * struct xdp_umem_reg extensible in the future.\n"
+ "32654bbd6313b4 Stanislav Fomichev 2024-07-26  1396  \t\t */\n"
+ "32654bbd6313b4 Stanislav Fomichev 2024-07-26  1397  \t\tBUILD_BUG_ON(offsetof(struct xdp_umem_reg, tx_metadata_len) +\n"
+ "32654bbd6313b4 Stanislav Fomichev 2024-07-26  1398  \t\t\t     sizeof_field(struct xdp_umem_reg, tx_metadata_len) !=\n"
+ "32654bbd6313b4 Stanislav Fomichev 2024-07-26  1399  \t\t\t     sizeof(struct xdp_umem_reg));\n"
+ "c05cd364581472 Kevin Laatz        2019-08-27  1400  \n"
+ "a7b75c5a8c4144 Christoph Hellwig  2020-07-23  1401  \t\tif (copy_from_sockptr(&mr, optval, mr_size))\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1402  \t\t\treturn -EFAULT;\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1403  \n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1404  \t\tmutex_lock(&xs->mutex);\n"
+ "455302d1c9ae93 Ilya Maximets      2019-06-28  1405  \t\tif (xs->state != XSK_READY || xs->umem) {\n"
+ "a49049ea257656 Bj\303\266rn T\303\266pel        2018-05-22  1406  \t\t\tmutex_unlock(&xs->mutex);\n"
+ "a49049ea257656 Bj\303\266rn T\303\266pel        2018-05-22  1407  \t\t\treturn -EBUSY;\n"
+ "a49049ea257656 Bj\303\266rn T\303\266pel        2018-05-22  1408  \t\t}\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1409  \n"
+ "a49049ea257656 Bj\303\266rn T\303\266pel        2018-05-22  1410  \t\tumem = xdp_umem_create(&mr);\n"
+ "a49049ea257656 Bj\303\266rn T\303\266pel        2018-05-22  1411  \t\tif (IS_ERR(umem)) {\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1412  \t\t\tmutex_unlock(&xs->mutex);\n"
+ "a49049ea257656 Bj\303\266rn T\303\266pel        2018-05-22  1413  \t\t\treturn PTR_ERR(umem);\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1414  \t\t}\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1415  \n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1416  \t\t/* Make sure umem is ready before it can be seen by others */\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1417  \t\tsmp_wmb();\n"
+ "9764f4b301c3e7 Bj\303\266rn T\303\266pel        2019-09-04  1418  \t\tWRITE_ONCE(xs->umem, umem);\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1419  \t\tmutex_unlock(&xs->mutex);\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1420  \t\treturn 0;\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1421  \t}\n"
+ "423f38329d2679 Magnus Karlsson    2018-05-02  1422  \tcase XDP_UMEM_FILL_RING:\n"
+ "fe2308328cd2f2 Magnus Karlsson    2018-05-02  1423  \tcase XDP_UMEM_COMPLETION_RING:\n"
+ "423f38329d2679 Magnus Karlsson    2018-05-02  1424  \t{\n"
+ "423f38329d2679 Magnus Karlsson    2018-05-02  1425  \t\tstruct xsk_queue **q;\n"
+ "423f38329d2679 Magnus Karlsson    2018-05-02  1426  \t\tint entries;\n"
+ "423f38329d2679 Magnus Karlsson    2018-05-02  1427  \n"
+ "237f3cf13b20db Eric Dumazet       2024-04-04  1428  \t\tif (optlen < sizeof(entries))\n"
+ "237f3cf13b20db Eric Dumazet       2024-04-04  1429  \t\t\treturn -EINVAL;\n"
+ "a7b75c5a8c4144 Christoph Hellwig  2020-07-23  1430  \t\tif (copy_from_sockptr(&entries, optval, sizeof(entries)))\n"
+ "423f38329d2679 Magnus Karlsson    2018-05-02  1431  \t\t\treturn -EFAULT;\n"
+ "423f38329d2679 Magnus Karlsson    2018-05-02  1432  \n"
+ "423f38329d2679 Magnus Karlsson    2018-05-02  1433  \t\tmutex_lock(&xs->mutex);\n"
+ "455302d1c9ae93 Ilya Maximets      2019-06-28  1434  \t\tif (xs->state != XSK_READY) {\n"
+ "455302d1c9ae93 Ilya Maximets      2019-06-28  1435  \t\t\tmutex_unlock(&xs->mutex);\n"
+ "455302d1c9ae93 Ilya Maximets      2019-06-28  1436  \t\t\treturn -EBUSY;\n"
+ "455302d1c9ae93 Ilya Maximets      2019-06-28  1437  \t\t}\n"
+ "a49049ea257656 Bj\303\266rn T\303\266pel        2018-05-22  1438  \n"
+ "7361f9c3d71955 Magnus Karlsson    2020-08-28  1439  \t\tq = (optname == XDP_UMEM_FILL_RING) ? &xs->fq_tmp :\n"
+ "7361f9c3d71955 Magnus Karlsson    2020-08-28  1440  \t\t\t&xs->cq_tmp;\n"
+ "b9b6b68e8abd10 Bj\303\266rn T\303\266pel        2018-05-02  1441  \t\terr = xsk_init_queue(entries, q, true);\n"
+ "423f38329d2679 Magnus Karlsson    2018-05-02  1442  \t\tmutex_unlock(&xs->mutex);\n"
+ "423f38329d2679 Magnus Karlsson    2018-05-02  1443  \t\treturn err;\n"
+ "423f38329d2679 Magnus Karlsson    2018-05-02  1444  \t}\n"
+ "45e359be1ce88f Jason Xing         2025-07-05  1445  \tcase XDP_MAX_TX_SKB_BUDGET:\n"
+ "45e359be1ce88f Jason Xing         2025-07-05  1446  \t{\n"
+ "45e359be1ce88f Jason Xing         2025-07-05  1447  \t\tunsigned int budget;\n"
+ "45e359be1ce88f Jason Xing         2025-07-05  1448  \n"
+ "45e359be1ce88f Jason Xing         2025-07-05  1449  \t\tif (optlen != sizeof(budget))\n"
+ "45e359be1ce88f Jason Xing         2025-07-05  1450  \t\t\treturn -EINVAL;\n"
+ "45e359be1ce88f Jason Xing         2025-07-05  1451  \t\tif (copy_from_sockptr(&budget, optval, sizeof(budget)))\n"
+ "45e359be1ce88f Jason Xing         2025-07-05  1452  \t\t\treturn -EFAULT;\n"
+ "45e359be1ce88f Jason Xing         2025-07-05  1453  \t\tif (!xs->tx ||\n"
+ "45e359be1ce88f Jason Xing         2025-07-05  1454  \t\t    budget < TX_BATCH_SIZE || budget > xs->tx->nentries)\n"
+ "45e359be1ce88f Jason Xing         2025-07-05  1455  \t\t\treturn -EACCES;\n"
+ "45e359be1ce88f Jason Xing         2025-07-05  1456  \n"
+ "45e359be1ce88f Jason Xing         2025-07-05  1457  \t\tWRITE_ONCE(xs->max_tx_budget, budget);\n"
+ "45e359be1ce88f Jason Xing         2025-07-05  1458  \t\treturn 0;\n"
+ "45e359be1ce88f Jason Xing         2025-07-05  1459  \t}\n"
  "48248366d9de2a Jason Xing         2025-08-11  1460  \tcase XDP_GENERIC_XMIT_BATCH:\n"
  "48248366d9de2a Jason Xing         2025-08-11  1461  \t{\n"
  "48248366d9de2a Jason Xing         2025-08-11  1462  \t\tunsigned int batch, batch_alloc_len;\n"
@@ -70,9 +195,6 @@
  "48248366d9de2a Jason Xing         2025-08-11  1479  \t\tnew = kmalloc(batch_alloc_len, GFP_KERNEL);\n"
  "48248366d9de2a Jason Xing         2025-08-11  1480  \t\tif (!new)\n"
  "48248366d9de2a Jason Xing         2025-08-11  1481  \t\t\treturn -ENOMEM;\n"
- "\n"
- "mutex_unlock(&xs->mutex); before returning\n"
- "\n"
  "48248366d9de2a Jason Xing         2025-08-11  1482  \t\tif (xs->skb_batch)\n"
  "48248366d9de2a Jason Xing         2025-08-11  1483  \t\t\tkfree(xs->skb_batch);\n"
  "48248366d9de2a Jason Xing         2025-08-11  1484  \n"
@@ -88,9 +210,10 @@
  "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1494  \n"
  "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02 @1495  \treturn -ENOPROTOOPT;\n"
  "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1496  }\n"
+ "c0c77d8fb787cf Bj\303\266rn T\303\266pel        2018-05-02  1497  \n"
  "\n"
  "-- \n"
  "0-DAY CI Kernel Test Service\n"
  https://github.com/intel/lkp-tests/wiki
 
-7cede99e363b78b7f03f7a5f22530ec347d04c630b26253d1c6c8c2d24793cf7
+0dda109ad2e53a1a30327bb0aeab62dfd968807e84544003140bfdc7b55b5a7d

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.