drivers/edac/ghes_edac.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
strcpy() has been deprecated [1] because it performs no bounds checking
on the destination buffer, which can lead to buffer overflows. Use the
safer strscpy() instead.
Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy [1]
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
Changes in v2:
- Update patch description (Boris)
- Link to v1: https://lore.kernel.org/lkml/20251031114607.133523-1-thorsten.blum@linux.dev/
---
drivers/edac/ghes_edac.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/edac/ghes_edac.c b/drivers/edac/ghes_edac.c
index 1eb0136c6fbd..d80c88818691 100644
--- a/drivers/edac/ghes_edac.c
+++ b/drivers/edac/ghes_edac.c
@@ -15,6 +15,7 @@
#include "edac_module.h"
#include <ras/ras_event.h>
#include <linux/notifier.h>
+#include <linux/string.h>
#define OTHER_DETAIL_LEN 400
@@ -332,7 +333,7 @@ static int ghes_edac_report_mem_error(struct notifier_block *nb,
p = pvt->msg;
p += snprintf(p, sizeof(pvt->msg), "%s", cper_mem_err_type_str(etype));
} else {
- strcpy(pvt->msg, "unknown error");
+ strscpy(pvt->msg, "unknown error");
}
/* Error address */
@@ -357,14 +358,14 @@ static int ghes_edac_report_mem_error(struct notifier_block *nb,
dimm = find_dimm_by_handle(mci, mem_err->mem_dev_handle);
if (dimm) {
e->top_layer = dimm->idx;
- strcpy(e->label, dimm->label);
+ strscpy(e->label, dimm->label);
}
}
if (p > e->location)
*(p - 1) = '\0';
if (!*e->label)
- strcpy(e->label, "unknown memory");
+ strscpy(e->label, "unknown memory");
/* All other fields are mapped on e->other_detail */
p = pvt->other_detail;
--
2.51.1
On Tue, Nov 18, 2025 at 02:56:22PM +0100, Thorsten Blum wrote:
> strcpy() has been deprecated [1] because it performs no bounds checking
> on the destination buffer, which can lead to buffer overflows. Use the
> safer strscpy() instead.
>
> Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy [1]
> Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
> ---
> Changes in v2:
> - Update patch description (Boris)
> - Link to v1: https://lore.kernel.org/lkml/20251031114607.133523-1-thorsten.blum@linux.dev/
> ---
> drivers/edac/ghes_edac.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
Applied, thanks.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
> From: Thorsten Blum <thorsten.blum@linux.dev> > Sent: Tuesday, November 18, 2025 9:56 PM > To: Mauro Carvalho Chehab <mchehab@kernel.org>; Borislav Petkov > <bp@alien8.de>; Luck, Tony <tony.luck@intel.com> > Cc: Thorsten Blum <thorsten.blum@linux.dev>; linux-edac@vger.kernel.org; > linux-kernel@vger.kernel.org > Subject: [PATCH v2] EDAC/ghes: Replace deprecated strcpy in > ghes_edac_report_mem_error > > strcpy() has been deprecated [1] because it performs no bounds checking on > the destination buffer, which can lead to buffer overflows. Use the safer > strscpy() instead. > > Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy > [1] > Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> > --- > Changes in v2: > - Update patch description (Boris) > - Link to v1: https://lore.kernel.org/lkml/20251031114607.133523-1- > thorsten.blum@linux.dev/ LGTM, thanks. Reviewed-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com> > [...]
© 2016 - 2025 Red Hat, Inc.