aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/ethernet
diff options
context:
space:
mode:
authorGravatar Rahul Rameshbabu <rrameshbabu@nvidia.com> 2023-11-21 15:00:22 -0800
committerGravatar Saeed Mahameed <saeedm@nvidia.com> 2023-12-13 17:22:20 -0800
commitb13559b76157de9d74f04d3ca0e49d69de3b5675 (patch)
tree03e6d0b9cb98b19a582e37d272e57898fa9f7578 /drivers/net/ethernet
parentnet/mlx5e: Correct snprintf truncation handling for fw_version buffer (diff)
downloadlinux-b13559b76157de9d74f04d3ca0e49d69de3b5675.tar.gz
linux-b13559b76157de9d74f04d3ca0e49d69de3b5675.tar.bz2
linux-b13559b76157de9d74f04d3ca0e49d69de3b5675.zip
net/mlx5e: Correct snprintf truncation handling for fw_version buffer used by representors
snprintf returns the length of the formatted string, excluding the trailing null, without accounting for truncation. This means that is the return value is greater than or equal to the size parameter, the fw_version string was truncated. Link: https://docs.kernel.org/core-api/kernel-api.html#c.snprintf Fixes: 1b2bd0c0264f ("net/mlx5e: Check return value of snprintf writing to fw_version buffer for representors") Signed-off-by: Rahul Rameshbabu <rrameshbabu@nvidia.com> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/en_rep.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
index 1bf7540a65ad..e92d4f83592e 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
@@ -78,7 +78,7 @@ static void mlx5e_rep_get_drvinfo(struct net_device *dev,
count = snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version),
"%d.%d.%04d (%.16s)", fw_rev_maj(mdev),
fw_rev_min(mdev), fw_rev_sub(mdev), mdev->board_id);
- if (count == sizeof(drvinfo->fw_version))
+ if (count >= sizeof(drvinfo->fw_version))
snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version),
"%d.%d.%04d", fw_rev_maj(mdev),
fw_rev_min(mdev), fw_rev_sub(mdev));