The function strerror() is insecure in a multi-thread environment. This patch uses rte_strerror() to replace it.
Cc: sta...@dpdk.org Signed-off-by: Dengdui Huang <huangdeng...@huawei.com> Acked-by: Chengwen Feng <fengcheng...@huawei.com> Acked-by: Morten Brørup <m...@smartsharesystems.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 1006243539..db3a2fbc8f 100644 --- a/drivers/net/sfc/sfc_flow.c +++ b/drivers/net/sfc/sfc_flow.c @@ -1397,7 +1397,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 b0e8b02b41..2813189f67 100644 --- a/drivers/net/sfc/sfc_mae.c +++ b/drivers/net/sfc/sfc_mae.c @@ -428,7 +428,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; } } @@ -445,7 +445,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; } @@ -484,7 +484,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; } @@ -503,7 +503,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; } @@ -616,7 +616,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; } } @@ -642,7 +642,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; } @@ -685,7 +685,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; } @@ -818,7 +818,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; } @@ -859,7 +859,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; } } @@ -873,7 +873,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; } @@ -916,7 +916,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; @@ -1241,7 +1241,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); @@ -1289,7 +1289,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; @@ -1445,7 +1445,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; } @@ -1498,7 +1498,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; @@ -1708,7 +1708,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; } @@ -1759,7 +1759,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; @@ -4396,7 +4396,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