DPDK patches and discussions
 help / color / mirror / Atom feed
From: Dengdui Huang <huangdengdui@huawei.com>
To: <dev@dpdk.org>
Cc: <ferruh.yigit@amd.com>, <stephen@networkplumber.org>,
	<lihuisong@huawei.com>, <fengchengwen@huawei.com>,
	<liuyonglong@huawei.com>
Subject: [PATCH v2 36/43] net/sfc: use rte strerror
Date: Tue, 14 Nov 2023 19:24:00 +0800	[thread overview]
Message-ID: <20231114112407.3496460-37-huangdengdui@huawei.com> (raw)
In-Reply-To: <20231114112407.3496460-1-huangdengdui@huawei.com>

The function strerror() is insecure in a multi-thread environment.
This patch uses rte_strerror() to replace it.

Cc: stable@dpdk.org

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
---
 drivers/net/sfc/sfc_flow.c        |  2 +-
 drivers/net/sfc/sfc_flow_tunnel.c |  2 +-
 drivers/net/sfc/sfc_mae.c         | 58 +++++++++++++++----------------
 3 files changed, 31 insertions(+), 31 deletions(-)

diff --git a/drivers/net/sfc/sfc_flow.c b/drivers/net/sfc/sfc_flow.c
index 1b50aefe5c..304628026d 100644
--- a/drivers/net/sfc/sfc_flow.c
+++ b/drivers/net/sfc/sfc_flow.c
@@ -1403,7 +1403,7 @@ sfc_flow_parse_pattern(struct sfc_adapter *sa,
 		rc = item->parse(pattern, parse_ctx, error);
 		if (rc != 0) {
 			sfc_err(sa, "failed to parse item %s: %s",
-				item->name, strerror(-rc));
+				item->name, rte_strerror(-rc));
 			return rc;
 		}
 
diff --git a/drivers/net/sfc/sfc_flow_tunnel.c b/drivers/net/sfc/sfc_flow_tunnel.c
index 889fee569a..898d00dd6d 100644
--- a/drivers/net/sfc/sfc_flow_tunnel.c
+++ b/drivers/net/sfc/sfc_flow_tunnel.c
@@ -120,7 +120,7 @@ sfc_ft_tunnel_rule_detect(struct sfc_adapter *sa,
 		if (rc != 0) {
 			/* The loop above might have spotted wrong actions. */
 			sfc_err(sa, "FT: TUNNEL: invalid actions: %s",
-				strerror(rc));
+				rte_strerror(rc));
 			goto fail;
 		}
 
diff --git a/drivers/net/sfc/sfc_mae.c b/drivers/net/sfc/sfc_mae.c
index e5ec0ae49d..accde9bcb0 100644
--- a/drivers/net/sfc/sfc_mae.c
+++ b/drivers/net/sfc/sfc_mae.c
@@ -429,7 +429,7 @@ sfc_mae_outer_rule_enable(struct sfc_adapter *sa,
 					       &fw_rsrc->rule_id);
 		if (rc != 0) {
 			sfc_err(sa, "failed to enable outer_rule=%p: %s",
-				rule, strerror(rc));
+				rule, rte_strerror(rc));
 			return rc;
 		}
 	}
@@ -446,7 +446,7 @@ sfc_mae_outer_rule_enable(struct sfc_adapter *sa,
 			fw_rsrc->rule_id.id = EFX_MAE_RSRC_ID_INVALID;
 		}
 
-		sfc_err(sa, "can't match on outer rule ID: %s", strerror(rc));
+		sfc_err(sa, "can't match on outer rule ID: %s", rte_strerror(rc));
 
 		return rc;
 	}
@@ -485,7 +485,7 @@ sfc_mae_outer_rule_disable(struct sfc_adapter *sa,
 						  &invalid_rule_id);
 	if (rc != 0) {
 		sfc_err(sa, "cannot restore match on invalid outer rule ID: %s",
-			strerror(rc));
+			rte_strerror(rc));
 		return;
 	}
 
@@ -504,7 +504,7 @@ sfc_mae_outer_rule_disable(struct sfc_adapter *sa,
 				rule, fw_rsrc->rule_id.id);
 		} else {
 			sfc_err(sa, "failed to disable outer_rule=%p with OR_ID=0x%08x: %s",
-				rule, fw_rsrc->rule_id.id, strerror(rc));
+				rule, fw_rsrc->rule_id.id, rte_strerror(rc));
 		}
 		fw_rsrc->rule_id.id = EFX_MAE_RSRC_ID_INVALID;
 	}
@@ -618,7 +618,7 @@ sfc_mae_mac_addr_enable(struct sfc_adapter *sa,
 					    &fw_rsrc->mac_id);
 		if (rc != 0) {
 			sfc_err(sa, "failed to enable mac_addr=%p: %s",
-				mac_addr, strerror(rc));
+				mac_addr, rte_strerror(rc));
 			return rc;
 		}
 	}
@@ -644,7 +644,7 @@ sfc_mae_mac_addr_enable(struct sfc_adapter *sa,
 		}
 
 		sfc_err(sa, "cannot fill in MAC address entry ID: %s",
-			strerror(rc));
+			rte_strerror(rc));
 
 		return rc;
 	}
@@ -687,7 +687,7 @@ sfc_mae_mac_addr_disable(struct sfc_adapter *sa,
 				mac_addr, fw_rsrc->mac_id.id);
 		} else {
 			sfc_err(sa, "failed to disable mac_addr=%p with MAC_ID=0x%08x: %s",
-				mac_addr, fw_rsrc->mac_id.id, strerror(rc));
+				mac_addr, fw_rsrc->mac_id.id, rte_strerror(rc));
 		}
 		fw_rsrc->mac_id.id = EFX_MAE_RSRC_ID_INVALID;
 	}
@@ -820,7 +820,7 @@ sfc_mae_encap_header_update(struct sfc_adapter *sa,
 						  bounce_eh->size);
 		if (ret != 0) {
 			sfc_err(sa, "failed to update encap_header=%p: %s",
-				encap_header, strerror(ret));
+				encap_header, rte_strerror(ret));
 			rte_free(buf);
 			return ret;
 		}
@@ -861,7 +861,7 @@ sfc_mae_encap_header_enable(struct sfc_adapter *sa,
 						&fw_rsrc->eh_id);
 		if (rc != 0) {
 			sfc_err(sa, "failed to enable encap_header=%p: %s",
-				encap_header, strerror(rc));
+				encap_header, rte_strerror(rc));
 			return rc;
 		}
 	}
@@ -875,7 +875,7 @@ sfc_mae_encap_header_enable(struct sfc_adapter *sa,
 			fw_rsrc->eh_id.id = EFX_MAE_RSRC_ID_INVALID;
 		}
 
-		sfc_err(sa, "can't fill in encap. header ID: %s", strerror(rc));
+		sfc_err(sa, "can't fill in encap. header ID: %s", rte_strerror(rc));
 
 		return rc;
 	}
@@ -918,7 +918,7 @@ sfc_mae_encap_header_disable(struct sfc_adapter *sa,
 				encap_header, fw_rsrc->eh_id.id);
 		} else {
 			sfc_err(sa, "failed to disable encap_header=%p with EH_ID=0x%08x: %s",
-				encap_header, fw_rsrc->eh_id.id, strerror(rc));
+				encap_header, fw_rsrc->eh_id.id, rte_strerror(rc));
 		}
 		fw_rsrc->eh_id.id = EFX_MAE_RSRC_ID_INVALID;
 	}
@@ -1023,7 +1023,7 @@ sfc_mae_counter_enable(struct sfc_adapter *sa, struct sfc_mae_counter *counter,
 			}
 
 			sfc_err(sa, "cannot fill in counter ID: %s",
-				strerror(rc));
+				rte_strerror(rc));
 			return rc;
 		}
 	}
@@ -1067,7 +1067,7 @@ sfc_mae_counter_disable(struct sfc_adapter *sa, struct sfc_mae_counter *counter)
 				counter, counter->type, counter_id);
 		} else {
 			sfc_err(sa, "failed to disable counter=%p with COUNTER_ID=0x%x-#%u: %s",
-				counter, counter->type, counter_id, strerror(rc));
+				counter, counter->type, counter_id, rte_strerror(rc));
 		}
 
 		fw_rsrc->counter_id.id = EFX_MAE_RSRC_ID_INVALID;
@@ -1242,7 +1242,7 @@ sfc_mae_action_set_enable(struct sfc_adapter *sa,
 					      &fw_rsrc->aset_id);
 		if (rc != 0) {
 			sfc_err(sa, "failed to enable action_set=%p: %s",
-				action_set, strerror(rc));
+				action_set, rte_strerror(rc));
 
 			sfc_mae_encap_header_disable(sa, encap_header);
 			sfc_mae_mac_addr_disable(sa, src_mac_addr);
@@ -1290,7 +1290,7 @@ sfc_mae_action_set_disable(struct sfc_adapter *sa,
 				action_set, fw_rsrc->aset_id.id);
 		} else {
 			sfc_err(sa, "failed to disable action_set=%p with AS_ID=0x%08x: %s",
-				action_set, fw_rsrc->aset_id.id, strerror(rc));
+				action_set, fw_rsrc->aset_id.id, rte_strerror(rc));
 		}
 		fw_rsrc->aset_id.id = EFX_MAE_RSRC_ID_INVALID;
 
@@ -1446,7 +1446,7 @@ sfc_mae_action_set_list_enable(struct sfc_adapter *sa,
 						&fw_rsrc->aset_list_id);
 		if (rc != 0) {
 			sfc_err(sa, "failed to enable action_set_list=%p: %s",
-				action_set_list, strerror(rc));
+				action_set_list, rte_strerror(rc));
 			goto fail_action_set_list_alloc;
 		}
 
@@ -1499,7 +1499,7 @@ sfc_mae_action_set_list_disable(struct sfc_adapter *sa,
 		} else {
 			sfc_err(sa, "failed to disable action_set_list=%p with ASL_ID=0x%08x: %s",
 				action_set_list, fw_rsrc->aset_list_id.id,
-				strerror(rc));
+				rte_strerror(rc));
 		}
 		fw_rsrc->aset_list_id.id = EFX_MAE_RSRC_ID_INVALID;
 
@@ -1710,7 +1710,7 @@ sfc_mae_action_rule_enable(struct sfc_adapter *sa,
 					as_idp, &fw_rsrc->rule_id);
 	if (rc != 0) {
 		sfc_err(sa, "failed to enable action_rule=%p: %s",
-			rule, strerror(rc));
+			rule, rte_strerror(rc));
 		goto fail_action_rule_insert;
 	}
 
@@ -1761,7 +1761,7 @@ sfc_mae_action_rule_disable(struct sfc_adapter *sa,
 				rule, fw_rsrc->rule_id.id);
 		} else {
 			sfc_err(sa, "failed to disable action_rule=%p with AR_ID=0x%08x: %s",
-				rule, fw_rsrc->rule_id.id, strerror(rc));
+				rule, fw_rsrc->rule_id.id, rte_strerror(rc));
 		}
 
 		fw_rsrc->rule_id.id = EFX_MAE_RSRC_ID_INVALID;
@@ -4398,7 +4398,7 @@ sfc_mae_rule_parse_action_mark(struct sfc_adapter *sa,
 
 	rc = efx_mae_action_set_populate_mark(spec, conf->id);
 	if (rc != 0)
-		sfc_err(sa, "failed to request action MARK: %s", strerror(rc));
+		sfc_err(sa, "failed to request action MARK: %s", rte_strerror(rc));
 
 	return rc;
 }
@@ -4570,14 +4570,14 @@ sfc_mae_rule_parse_action_pf_vf(struct sfc_adapter *sa,
 	if (rc != 0) {
 		sfc_err(sa, "failed to convert PF %u VF %d to m-port: %s",
 			encp->enc_pf, (vf != EFX_PCI_VF_INVALID) ? (int)vf : -1,
-			strerror(rc));
+			rte_strerror(rc));
 		return rc;
 	}
 
 	rc = efx_mae_action_set_populate_deliver(spec, &mport);
 	if (rc != 0) {
 		sfc_err(sa, "failed to request action DELIVER with m-port selector 0x%08x: %s",
-			mport.sel, strerror(rc));
+			mport.sel, rte_strerror(rc));
 	}
 
 	return rc;
@@ -4606,14 +4606,14 @@ sfc_mae_rule_parse_action_port_id(struct sfc_adapter *sa,
 					     port_id, type_mask, &mport);
 	if (rc != 0) {
 		sfc_err(sa, "failed to get m-port for the given ethdev (port_id=%u): %s",
-			port_id, strerror(rc));
+			port_id, rte_strerror(rc));
 		return rc;
 	}
 
 	rc = efx_mae_action_set_populate_deliver(spec, &mport);
 	if (rc != 0) {
 		sfc_err(sa, "failed to request action DELIVER with m-port selector 0x%08x: %s",
-			mport.sel, strerror(rc));
+			mport.sel, rte_strerror(rc));
 	}
 
 	return rc;
@@ -4632,14 +4632,14 @@ sfc_mae_rule_parse_action_port_representor(struct sfc_adapter *sa,
 					     conf->port_id, type_mask, &mport);
 	if (rc != 0) {
 		sfc_err(sa, "failed to get m-port for the given ethdev (port_id=%u): %s",
-			conf->port_id, strerror(rc));
+			conf->port_id, rte_strerror(rc));
 		return rc;
 	}
 
 	rc = efx_mae_action_set_populate_deliver(spec, &mport);
 	if (rc != 0) {
 		sfc_err(sa, "failed to request action DELIVER with m-port selector 0x%08x: %s",
-			mport.sel, strerror(rc));
+			mport.sel, rte_strerror(rc));
 	}
 
 	return rc;
@@ -4658,14 +4658,14 @@ sfc_mae_rule_parse_action_represented_port(struct sfc_adapter *sa,
 					     conf->port_id, &mport);
 	if (rc != 0) {
 		sfc_err(sa, "failed to get m-port for the given ethdev (port_id=%u): %s",
-			conf->port_id, strerror(rc));
+			conf->port_id, rte_strerror(rc));
 		return rc;
 	}
 
 	rc = efx_mae_action_set_populate_deliver(spec, &mport);
 	if (rc != 0) {
 		sfc_err(sa, "failed to request action DELIVER with m-port selector 0x%08x: %s",
-			mport.sel, strerror(rc));
+			mport.sel, rte_strerror(rc));
 	}
 
 	return rc;
@@ -4758,7 +4758,7 @@ sfc_mae_rule_parse_action_rc(struct sfc_adapter *sa,
 
 			if (action_name != NULL) {
 				sfc_err(sa, "action %s was rejected: %s",
-					action_name, strerror(rc));
+					action_name, rte_strerror(rc));
 			}
 		}
 		rc = rte_flow_error_set(error, rc, RTE_FLOW_ERROR_TYPE_ACTION,
-- 
2.33.0


  parent reply	other threads:[~2023-11-14 11:27 UTC|newest]

Thread overview: 139+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-14  8:24 [PATCH 00/43] replace strerror Dengdui Huang
2023-11-14  8:24 ` [PATCH 01/43] devtools: forbid use of strerror Dengdui Huang
2023-11-14  8:24 ` [PATCH 02/43] eal: use rte strerror Dengdui Huang
2023-11-15  0:18   ` Stephen Hemminger
2023-11-15 11:16     ` Morten Brørup
2024-02-01 21:49       ` Stephen Hemminger
2023-11-15  0:22   ` Stephen Hemminger
2023-11-15 11:23     ` Morten Brørup
2023-11-15 15:06       ` Stephen Hemminger
2023-11-14  8:24 ` [PATCH 03/43] eventdev: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 04/43] latency: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 05/43] node: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 06/43] pdump: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 07/43] power: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 08/43] telemetry: replace strerror Dengdui Huang
2023-11-14  8:25 ` [PATCH 09/43] vhost: use rte strerror Dengdui Huang
2023-11-14  8:25 ` [PATCH 10/43] bpf: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 11/43] bus/cdx: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 12/43] bus/dpaa: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 13/43] bus/fslmc: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 14/43] bus/pci: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 15/43] bus/vdev: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 16/43] bus/vmbus: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 17/43] common/cnxk: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 18/43] common/mlx5: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 19/43] crypto/caam_jr: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 20/43] dma/idxd: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 21/43] net/af_packet: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 22/43] net/bnxt: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 23/43] net/af_xdp: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 24/43] net/bonding: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 25/43] net/dpaa: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 26/43] net/dpaa2: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 27/43] net/enetfec: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 28/43] net/failsafe: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 29/43] net/i40e: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 30/43] net/ice: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 31/43] net/ixgbe: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 32/43] net/memif: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 33/43] net/mlx4: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 34/43] net/mlx5: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 35/43] net/qede: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 36/43] net/sfc: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 37/43] net/tap: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 38/43] net/vhost: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 39/43] net/virtio: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 40/43] raw/ifpga: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 41/43] vdpa/ifc: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 42/43] vdpa/mlx5: " Dengdui Huang
2023-11-14  8:25 ` [PATCH 43/43] vdpa/sfc: " Dengdui Huang
2023-11-14 11:23   ` [PATCH v2 00/43] replace strerror Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 01/43] devtools: forbid use of strerror Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 02/43] eal: use rte strerror Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 03/43] eventdev: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 04/43] latency: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 05/43] node: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 06/43] pdump: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 07/43] power: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 08/43] telemetry: replace strerror Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 09/43] vhost: use rte strerror Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 10/43] bpf: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 11/43] bus/cdx: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 12/43] bus/dpaa: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 13/43] bus/fslmc: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 14/43] bus/pci: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 15/43] bus/vdev: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 16/43] bus/vmbus: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 17/43] common/cnxk: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 18/43] common/mlx5: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 19/43] crypto/caam_jr: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 20/43] dma/idxd: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 21/43] net/af_packet: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 22/43] net/bnxt: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 23/43] net/af_xdp: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 24/43] net/bonding: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 25/43] net/dpaa: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 26/43] net/dpaa2: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 27/43] net/enetfec: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 28/43] net/failsafe: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 29/43] net/i40e: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 30/43] net/ice: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 31/43] net/ixgbe: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 32/43] net/memif: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 33/43] net/mlx4: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 34/43] net/mlx5: " Dengdui Huang
2023-11-14 11:23     ` [PATCH v2 35/43] net/qede: " Dengdui Huang
2023-11-14 11:24     ` Dengdui Huang [this message]
2023-11-14 11:24     ` [PATCH v2 37/43] net/tap: " Dengdui Huang
2023-11-14 11:24     ` [PATCH v2 38/43] net/vhost: " Dengdui Huang
2023-11-14 11:24     ` [PATCH v2 39/43] net/virtio: " Dengdui Huang
2023-11-14 11:24     ` [PATCH v2 40/43] raw/ifpga: " Dengdui Huang
2023-11-14 11:24     ` [PATCH v2 41/43] vdpa/ifc: " Dengdui Huang
2023-11-14 11:24     ` [PATCH v2 42/43] vdpa/mlx5: " Dengdui Huang
2023-11-14 11:24     ` [PATCH v2 43/43] vdpa/sfc: " Dengdui Huang
2023-11-14 12:35   ` [PATCH v3 00/42] replace strerror Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 01/42] devtools: forbid use of strerror Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 02/42] eal: use rte strerror Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 03/42] eventdev: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 04/42] latency: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 05/42] node: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 06/42] pdump: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 07/42] power: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 08/42] vhost: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 09/42] bpf: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 10/42] bus/cdx: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 11/42] bus/dpaa: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 12/42] bus/fslmc: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 13/42] bus/pci: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 14/42] bus/vdev: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 15/42] bus/vmbus: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 16/42] common/cnxk: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 17/42] common/mlx5: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 18/42] crypto/caam_jr: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 19/42] dma/idxd: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 20/42] net/af_packet: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 21/42] net/bnxt: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 22/42] net/af_xdp: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 23/42] net/bonding: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 24/42] net/dpaa: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 25/42] net/dpaa2: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 26/42] net/enetfec: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 27/42] net/failsafe: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 28/42] net/i40e: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 29/42] net/ice: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 30/42] net/ixgbe: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 31/42] net/memif: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 32/42] net/mlx4: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 33/42] net/mlx5: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 34/42] net/qede: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 35/42] net/sfc: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 36/42] net/tap: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 37/42] net/vhost: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 38/42] net/virtio: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 39/42] raw/ifpga: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 40/42] vdpa/ifc: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 41/42] vdpa/mlx5: " Dengdui Huang
2023-11-14 12:35     ` [PATCH v3 42/42] vdpa/sfc: " Dengdui Huang
2023-11-15  0:16 ` [PATCH 00/43] replace strerror Stephen Hemminger
2024-02-01 11:03   ` David Marchand

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=20231114112407.3496460-37-huangdengdui@huawei.com \
    --to=huangdengdui@huawei.com \
    --cc=dev@dpdk.org \
    --cc=fengchengwen@huawei.com \
    --cc=ferruh.yigit@amd.com \
    --cc=lihuisong@huawei.com \
    --cc=liuyonglong@huawei.com \
    --cc=stephen@networkplumber.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).