dpdk/0340-net-mlx5-fix-build-with-GCC-12-and-ASan.patch
jiangheng12 7b9cc4c5a2 fix build with GCC 12
(cherry picked from commit d1c19aae07fc1940cea32a797e9bc9b23377f317)
2023-07-12 19:51:01 +08:00

71 lines
2.6 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From c3a4fd09f9a348e9b7394b2a9d498c815f1efaac Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Wed, 22 Mar 2023 18:06:27 +0100
Subject: [PATCH] net/mlx5: fix build with GCC 12 and ASan
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit e17840756179410283ef03660578310874432f40 ]
Building with gcc 12 and ASan raises this warning:
../drivers/net/mlx5/mlx5_txpp.c: In function mlx5_txpp_xstats_get_names:
../drivers/net/mlx5/mlx5_txpp.c:1066:25: error: strncpy specified bound
64 equals destination size [-Werror=stringop-truncation]
1066 | strncpy(xstats_names[i + n_used].name,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1067 | mlx5_txpp_stat_names[i],
| ~~~~~~~~~~~~~~~~~~~~~~~~
1068 | RTE_ETH_XSTATS_NAME_SIZE);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
Prefer strlcpy for xstats.
Fixes: 3b025c0ca425 ("net/mlx5: provide send scheduling error statistics")
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Raslan Darawsheh <rasland@nvidia.com>
---
drivers/net/mlx5/mlx5_stats.c | 3 +--
drivers/net/mlx5/mlx5_txpp.c | 4 +---
2 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_stats.c b/drivers/net/mlx5/mlx5_stats.c
index f64fa3587b..615e1d073d 100644
--- a/drivers/net/mlx5/mlx5_stats.c
+++ b/drivers/net/mlx5/mlx5_stats.c
@@ -288,10 +288,9 @@ mlx5_xstats_get_names(struct rte_eth_dev *dev,
if (n >= mlx5_xstats_n && xstats_names) {
for (i = 0; i != mlx5_xstats_n; ++i) {
- strncpy(xstats_names[i].name,
+ strlcpy(xstats_names[i].name,
xstats_ctrl->info[i].dpdk_name,
RTE_ETH_XSTATS_NAME_SIZE);
- xstats_names[i].name[RTE_ETH_XSTATS_NAME_SIZE - 1] = 0;
}
}
mlx5_xstats_n = mlx5_txpp_xstats_get_names(dev, xstats_names,
diff --git a/drivers/net/mlx5/mlx5_txpp.c b/drivers/net/mlx5/mlx5_txpp.c
index af77e91e4c..83d17997d1 100644
--- a/drivers/net/mlx5/mlx5_txpp.c
+++ b/drivers/net/mlx5/mlx5_txpp.c
@@ -1064,11 +1064,9 @@ int mlx5_txpp_xstats_get_names(struct rte_eth_dev *dev __rte_unused,
if (n >= n_used + n_txpp && xstats_names) {
for (i = 0; i < n_txpp; ++i) {
- strncpy(xstats_names[i + n_used].name,
+ strlcpy(xstats_names[i + n_used].name,
mlx5_txpp_stat_names[i],
RTE_ETH_XSTATS_NAME_SIZE);
- xstats_names[i + n_used].name
- [RTE_ETH_XSTATS_NAME_SIZE - 1] = 0;
}
}
return n_used + n_txpp;
--
2.23.0