| From 05a9bdd7f72fb7384b086678bc0204f49bed5432 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 11 Jul 2025 07:05:30 -0700 |
| Subject: net: thunderx: Fix format-truncation warning in bgx_acpi_match_id() |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Alok Tiwari <alok.a.tiwari@oracle.com> |
| |
| [ Upstream commit 53d20606c40678d425cc03f0978c614dca51f25e ] |
| |
| The buffer bgx_sel used in snprintf() was too small to safely hold |
| the formatted string "BGX%d" for all valid bgx_id values. This caused |
| a -Wformat-truncation warning with `Werror` enabled during build. |
| |
| Increase the buffer size from 5 to 7 and use `sizeof(bgx_sel)` in |
| snprintf() to ensure safety and suppress the warning. |
| |
| Build warning: |
| CC drivers/net/ethernet/cavium/thunder/thunder_bgx.o |
| drivers/net/ethernet/cavium/thunder/thunder_bgx.c: In function |
| ‘bgx_acpi_match_id’: |
| drivers/net/ethernet/cavium/thunder/thunder_bgx.c:1434:27: error: ‘%d’ |
| directive output may be truncated writing between 1 and 3 bytes into a |
| region of size 2 [-Werror=format-truncation=] |
| snprintf(bgx_sel, 5, "BGX%d", bgx->bgx_id); |
| ^~ |
| drivers/net/ethernet/cavium/thunder/thunder_bgx.c:1434:23: note: |
| directive argument in the range [0, 255] |
| snprintf(bgx_sel, 5, "BGX%d", bgx->bgx_id); |
| ^~~~~~~ |
| drivers/net/ethernet/cavium/thunder/thunder_bgx.c:1434:2: note: |
| ‘snprintf’ output between 5 and 7 bytes into a destination of size 5 |
| snprintf(bgx_sel, 5, "BGX%d", bgx->bgx_id); |
| |
| compiler warning due to insufficient snprintf buffer size. |
| |
| Signed-off-by: Alok Tiwari <alok.a.tiwari@oracle.com> |
| Reviewed-by: Simon Horman <horms@kernel.org> |
| Link: https://patch.msgid.link/20250711140532.2463602-1-alok.a.tiwari@oracle.com |
| Signed-off-by: Jakub Kicinski <kuba@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c |
| index a317feb8decb..087d4c2b3efd 100644 |
| --- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c |
| +++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c |
| @@ -1427,9 +1427,9 @@ static acpi_status bgx_acpi_match_id(acpi_handle handle, u32 lvl, |
| { |
| struct acpi_buffer string = { ACPI_ALLOCATE_BUFFER, NULL }; |
| struct bgx *bgx = context; |
| - char bgx_sel[5]; |
| + char bgx_sel[7]; |
| |
| - snprintf(bgx_sel, 5, "BGX%d", bgx->bgx_id); |
| + snprintf(bgx_sel, sizeof(bgx_sel), "BGX%d", bgx->bgx_id); |
| if (ACPI_FAILURE(acpi_get_name(handle, ACPI_SINGLE_NAME, &string))) { |
| pr_warn("Invalid link device\n"); |
| return AE_OK; |
| -- |
| 2.39.5 |
| |