[PATCH] edac: Use scnprintf() for safer buffer handling

Wang Haoran posted 1 patch 2 months, 3 weeks ago
There is a newer version of this series
drivers/edac/skx_common.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] edac: Use scnprintf() for safer buffer handling
Posted by Wang Haoran 2 months, 3 weeks ago
snprintf() is fragile when its return value will be used to append additional data to a buffer. Use scnprintf() instead.

Signed-off-by: Wang Haoran (Vul337) <haoranwangsec@gmail.com>
---
 drivers/edac/skx_common.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/edac/skx_common.c b/drivers/edac/skx_common.c
index c9ade45c1a99..39c733dbc5b9 100644
--- a/drivers/edac/skx_common.c
+++ b/drivers/edac/skx_common.c
@@ -670,12 +670,12 @@ static void skx_mce_output_error(struct mem_ctl_info *mci,
 	}
 
 	if (res->decoded_by_adxl) {
-		len = snprintf(skx_msg, MSG_SIZE, "%s%s err_code:0x%04x:0x%04x %s",
+		len = scnprintf(skx_msg, MSG_SIZE, "%s%s err_code:0x%04x:0x%04x %s",
 			 overflow ? " OVERFLOW" : "",
 			 (uncorrected_error && recoverable) ? " recoverable" : "",
 			 mscod, errcode, adxl_msg);
 	} else {
-		len = snprintf(skx_msg, MSG_SIZE,
+		len = scnprintf(skx_msg, MSG_SIZE,
 			 "%s%s err_code:0x%04x:0x%04x ProcessorSocketId:0x%x MemoryControllerId:0x%x PhysicalRankId:0x%x Row:0x%x Column:0x%x Bank:0x%x BankGroup:0x%x",
 			 overflow ? " OVERFLOW" : "",
 			 (uncorrected_error && recoverable) ? " recoverable" : "",
-- 
2.43.0
RE: [PATCH] edac: Use scnprintf() for safer buffer handling
Posted by Zhuo, Qiuxu 2 months, 3 weeks ago
> From: Wang Haoran <haoranwangsec@gmail.com>
> Sent: Sunday, July 13, 2025 10:58 AM
> To: Luck, Tony <tony.luck@intel.com>; bp@alien8.de
> Cc: james.morse@arm.com; mchehab@kernel.org; rric@kernel.org; linux-
> edac@vger.kernel.org; linux-kernel@vger.kernel.org; Wang Haoran
> <haoranwangsec@gmail.com>
> Subject: [PATCH] edac: Use scnprintf() for safer buffer handling
> 
> snprintf() is fragile when its return value will be used to append additional
> data to a buffer. Use scnprintf() instead.
> 
> Signed-off-by: Wang Haoran (Vul337) <haoranwangsec@gmail.com>
> ---
>  drivers/edac/skx_common.c | 4 ++--

Please also replace all instances of snprintf() with scnprintf() in the file drivers/edac/i10nm_edac.c

Thanks
-Qiuxu