When there was a failure in the quota initialization, only the return value was set. The "rte_errno" and the "rte_flow_error" were not set. The application may get a crash when trying to access the "message" field.
Fixes: 15896eaf9d71 ("net/mlx5: support indirect quota create/query/modify") Cc: getel...@nvidia.com Signed-off-by: Bing Zhao <bi...@nvidia.com> Acked-by: Ori Kam <or...@nvidia.com> --- drivers/net/mlx5/mlx5_flow_hw.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c index b5137a822a..ba2f1f7c92 100644 --- a/drivers/net/mlx5/mlx5_flow_hw.c +++ b/drivers/net/mlx5/mlx5_flow_hw.c @@ -7789,8 +7789,11 @@ flow_hw_configure(struct rte_eth_dev *dev, /* Initialize quotas */ if (port_attr->nb_quotas) { ret = mlx5_flow_quota_init(dev, port_attr->nb_quotas); - if (ret) + if (ret) { + rte_flow_error_set(error, -ret, RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL, + "Failed to initialize quota."); goto err; + } } /* Initialize meter library*/ if (port_attr->nb_meters || (host_priv && host_priv->hws_mpool)) -- 2.34.1