[PATCH] EDAC/amd64: avoid -Wformat-security warning

Arnd Bergmann posted 1 patch 2 weeks, 1 day ago
drivers/edac/amd64_edac.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] EDAC/amd64: avoid -Wformat-security warning
Posted by Arnd Bergmann 2 weeks, 1 day ago
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
Re: [PATCH] EDAC/amd64: avoid -Wformat-security warning
Posted by Yazen Ghannam 2 weeks ago
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
Re: [PATCH] EDAC/amd64: avoid -Wformat-security warning
Posted by Naik, Avadhut 2 weeks, 1 day ago

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
RE: [PATCH] EDAC/amd64: avoid -Wformat-security warning
Posted by Zhuo, Qiuxu 2 weeks, 1 day ago
> 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>

[...]