From: Saeed Mahameed <saeed@kernel.org>
To: "David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Eric Dumazet <edumazet@google.com>
Cc: Saeed Mahameed <saeedm@nvidia.com>,
netdev@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>,
Justin Stitt <justinstitt@google.com>,
linux-hardening@vger.kernel.org,
Kees Cook <keescook@chromium.org>
Subject: [net-next V2 06/13] net/mlx5: simplify mlx5_set_driver_version string assignments
Date: Wed, 15 Nov 2023 11:36:42 -0800 [thread overview]
Message-ID: <20231115193649.8756-7-saeed@kernel.org> (raw)
In-Reply-To: <20231115193649.8756-1-saeed@kernel.org>
From: Justin Stitt <justinstitt@google.com>
In total, just assigning this version string takes:
(1) strncpy()'s
(5) strlen()'s
(3) strncat()'s
(1) snprintf()'s
(4) max_t()'s
Moreover, `strncpy` is deprecated [1] and `strncat` really shouldn't be
used either [2]. With this in mind, let's simply use a single
`snprintf`.
Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1]
Link: https://elixir.bootlin.com/linux/v6.6-rc5/source/include/linux/fortify-string.h#L448 [2]
Link: https://github.com/KSPP/linux/issues/90
Cc: linux-hardening@vger.kernel.org
Cc: Kees Cook <keescook@chromium.org>
Signed-off-by: Justin Stitt <justinstitt@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
---
.../net/ethernet/mellanox/mlx5/core/main.c | 20 +++----------------
1 file changed, 3 insertions(+), 17 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c
index a17152c1cbb2..bccf6e53556c 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c
@@ -219,7 +219,6 @@ static void mlx5_set_driver_version(struct mlx5_core_dev *dev)
int driver_ver_sz = MLX5_FLD_SZ_BYTES(set_driver_version_in,
driver_version);
u8 in[MLX5_ST_SZ_BYTES(set_driver_version_in)] = {};
- int remaining_size = driver_ver_sz;
char *string;
if (!MLX5_CAP_GEN(dev, driver_version))
@@ -227,22 +226,9 @@ static void mlx5_set_driver_version(struct mlx5_core_dev *dev)
string = MLX5_ADDR_OF(set_driver_version_in, in, driver_version);
- strncpy(string, "Linux", remaining_size);
-
- remaining_size = max_t(int, 0, driver_ver_sz - strlen(string));
- strncat(string, ",", remaining_size);
-
- remaining_size = max_t(int, 0, driver_ver_sz - strlen(string));
- strncat(string, KBUILD_MODNAME, remaining_size);
-
- remaining_size = max_t(int, 0, driver_ver_sz - strlen(string));
- strncat(string, ",", remaining_size);
-
- remaining_size = max_t(int, 0, driver_ver_sz - strlen(string));
-
- snprintf(string + strlen(string), remaining_size, "%u.%u.%u",
- LINUX_VERSION_MAJOR, LINUX_VERSION_PATCHLEVEL,
- LINUX_VERSION_SUBLEVEL);
+ snprintf(string, driver_ver_sz, "Linux,%s,%u.%u.%u",
+ KBUILD_MODNAME, LINUX_VERSION_MAJOR,
+ LINUX_VERSION_PATCHLEVEL, LINUX_VERSION_SUBLEVEL);
/*Send the command*/
MLX5_SET(set_driver_version_in, in, opcode,
--
2.41.0
next prev parent reply other threads:[~2023-11-15 19:36 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-15 19:36 [pull request][net-next V2 00/13] mlx5 updates 2023-11-13 Saeed Mahameed
2023-11-15 19:36 ` [net-next V2 01/13] net/mlx5: print change on SW reset semaphore returns busy Saeed Mahameed
2023-11-18 17:50 ` patchwork-bot+netdevbpf
2023-11-15 19:36 ` [net-next V2 02/13] net/mlx5: Allow sync reset flow when BF MGT interface device is present Saeed Mahameed
2023-11-15 19:36 ` [net-next V2 03/13] net/mlx5e: Some cleanup in mlx5e_tc_stats_matchall() Saeed Mahameed
2023-11-15 19:36 ` [net-next V2 04/13] net/mlx5: Annotate struct mlx5_fc_bulk with __counted_by Saeed Mahameed
2023-11-15 19:36 ` [net-next V2 05/13] net/mlx5: Annotate struct mlx5_flow_handle " Saeed Mahameed
2023-11-15 19:36 ` Saeed Mahameed [this message]
2023-11-15 19:36 ` [net-next V2 07/13] net/mlx5e: Access array with enum values instead of magic numbers Saeed Mahameed
2023-11-15 19:36 ` [net-next V2 08/13] net/mlx5: Refactor real time clock operation checks for PHC Saeed Mahameed
2023-11-15 19:36 ` [net-next V2 09/13] net/mlx5: Initialize clock->ptp_info inside mlx5_init_timer_clock Saeed Mahameed
2023-11-15 19:36 ` [net-next V2 10/13] net/mlx5: Convert scaled ppm values outside the s32 range for PHC frequency adjustments Saeed Mahameed
2023-11-15 19:36 ` [net-next V2 11/13] net/mlx5: Query maximum frequency adjustment of the PTP hardware clock Saeed Mahameed
2023-11-15 19:36 ` [net-next V2 12/13] net/mlx5e: Add local loopback counter to vport rep stats Saeed Mahameed
2023-11-15 19:36 ` [net-next V2 13/13] net/mlx5e: Remove early assignment to netdev->features Saeed Mahameed
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=20231115193649.8756-7-saeed@kernel.org \
--to=saeed@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=justinstitt@google.com \
--cc=keescook@chromium.org \
--cc=kuba@kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=saeedm@nvidia.com \
--cc=tariqt@nvidia.com \
/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 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.