drivers/edac/amd64_edac.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
From: Arnd Bergmann <arnd@arndb.de>
Using a variable as a format string causes a (default-disabled) warning:
drivers/edac/amd64_edac.c: In function 'per_family_init':
drivers/edac/amd64_edac.c:3914:17: error: format not a string literal and no format arguments [-Werror=format-security]
3914 | scnprintf(pvt->ctl_name, sizeof(pvt->ctl_name), tmp_name);
| ^~~~~~~~~
The code here is safe, but in order to enable the warning by default in
the future, change this instance to pass the name indirectly.
Fixes: e9abd990aefd ("EDAC/amd64: Generate ctl_name string at runtime")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/edac/amd64_edac.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c
index 2391f3469961..63fca0ee2c23 100644
--- a/drivers/edac/amd64_edac.c
+++ b/drivers/edac/amd64_edac.c
@@ -3911,7 +3911,7 @@ static int per_family_init(struct amd64_pvt *pvt)
}
if (tmp_name)
- scnprintf(pvt->ctl_name, sizeof(pvt->ctl_name), tmp_name);
+ scnprintf(pvt->ctl_name, sizeof(pvt->ctl_name), "%s", tmp_name);
else
scnprintf(pvt->ctl_name, sizeof(pvt->ctl_name), "F%02Xh_M%02Xh",
pvt->fam, pvt->model);
--
2.39.5
On Thu, Dec 04, 2025 at 11:02:25AM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> Using a variable as a format string causes a (default-disabled) warning:
>
> drivers/edac/amd64_edac.c: In function 'per_family_init':
> drivers/edac/amd64_edac.c:3914:17: error: format not a string literal and no format arguments [-Werror=format-security]
> 3914 | scnprintf(pvt->ctl_name, sizeof(pvt->ctl_name), tmp_name);
> | ^~~~~~~~~
>
> The code here is safe, but in order to enable the warning by default in
> the future, change this instance to pass the name indirectly.
>
> Fixes: e9abd990aefd ("EDAC/amd64: Generate ctl_name string at runtime")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
Reviewed-by: Yazen Ghannam <yazen.ghannam@amd.com>
Thanks,
Yazen
On 12/4/2025 04:02, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> Using a variable as a format string causes a (default-disabled) warning:
>
> drivers/edac/amd64_edac.c: In function 'per_family_init':
> drivers/edac/amd64_edac.c:3914:17: error: format not a string literal and no format arguments [-Werror=format-security]
> 3914 | scnprintf(pvt->ctl_name, sizeof(pvt->ctl_name), tmp_name);
> | ^~~~~~~~~
>
> The code here is safe, but in order to enable the warning by default in
> the future, change this instance to pass the name indirectly.
>
> Fixes: e9abd990aefd ("EDAC/amd64: Generate ctl_name string at runtime")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> drivers/edac/amd64_edac.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c
> index 2391f3469961..63fca0ee2c23 100644
> --- a/drivers/edac/amd64_edac.c
> +++ b/drivers/edac/amd64_edac.c
> @@ -3911,7 +3911,7 @@ static int per_family_init(struct amd64_pvt *pvt)
> }
>
> if (tmp_name)
> - scnprintf(pvt->ctl_name, sizeof(pvt->ctl_name), tmp_name);
> + scnprintf(pvt->ctl_name, sizeof(pvt->ctl_name), "%s", tmp_name);
> else
> scnprintf(pvt->ctl_name, sizeof(pvt->ctl_name), "F%02Xh_M%02Xh",
> pvt->fam, pvt->model);
Thanks for fixing this!
Reviewed-by: Avadhut Naik <avadhut.naik@amd.com>
--
Thanks,
Avadhut Naik
> From: Arnd Bergmann <arnd@kernel.org>
> Sent: Thursday, December 4, 2025 6:02 PM
> To: Yazen Ghannam <yazen.ghannam@amd.com>; Borislav Petkov
> <bp@alien8.de>; Luck, Tony <tony.luck@intel.com>; Avadhut Naik
> <avadhut.naik@amd.com>
> Cc: Arnd Bergmann <arnd@arndb.de>; Ingo Molnar <mingo@kernel.org>;
> Zhuo, Qiuxu <qiuxu.zhuo@intel.com>; Thorsten Blum
> <thorsten.blum@linux.dev>; Mario Limonciello
> <mario.limonciello@amd.com>; linux-edac@vger.kernel.org; linux-
> kernel@vger.kernel.org
> Subject: [PATCH] EDAC/amd64: avoid -Wformat-security warning
>
> From: Arnd Bergmann <arnd@arndb.de>
>
> Using a variable as a format string causes a (default-disabled) warning:
>
> drivers/edac/amd64_edac.c: In function 'per_family_init':
> drivers/edac/amd64_edac.c:3914:17: error: format not a string literal and no
> format arguments [-Werror=format-security]
> 3914 | scnprintf(pvt->ctl_name, sizeof(pvt->ctl_name), tmp_name);
> | ^~~~~~~~~
>
> The code here is safe, but in order to enable the warning by default in the
> future, change this instance to pass the name indirectly.
>
> Fixes: e9abd990aefd ("EDAC/amd64: Generate ctl_name string at runtime")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
LGTM. Thanks!
Reviewed-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
[...]
© 2016 - 2025 Red Hat, Inc.