[PATCH 02/12] x86/CPU/AMD: use correct format characters
Bill Wendling
morbo at google.com
Fri Jun 10 00:16:21 CEST 2022
From: Bill Wendling <isanbard at gmail.com>
When compiling with -Wformat, clang emits the following warnings:
arch/x86/kernel/cpu/mce/amd.c:1119:67: error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security]
err = kobject_init_and_add(&b->kobj, &threshold_ktype, tb->kobj, get_name(cpu, bank, b));
^~~~~~~~~~~~~~~~~~~~~~
arch/x86/kernel/cpu/mce/amd.c:1151:47: error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security]
err = kobject_add(&b->blocks->kobj, b->kobj, b->blocks->kobj.name);
^~~~~~~~~~~~~~~~~~~~
arch/x86/kernel/cpu/mce/amd.c:1157:42: error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security]
err = kobject_add(&pos->kobj, b->kobj, pos->kobj.name);
^~~~~~~~~~~~~~
arch/x86/kernel/cpu/mce/amd.c:1187:43: error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security]
err = kobject_add(b->kobj, &dev->kobj, name);
^~~~
"%s",
Use a string literal for the format string.
Link: https://github.com/ClangBuiltLinux/linux/issues/378
Signed-off-by: Bill Wendling <isanbard at gmail.com>
---
arch/x86/kernel/cpu/mce/amd.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/x86/kernel/cpu/mce/amd.c b/arch/x86/kernel/cpu/mce/amd.c
index 1c87501e0fa3..d19bf0eb0abe 100644
--- a/arch/x86/kernel/cpu/mce/amd.c
+++ b/arch/x86/kernel/cpu/mce/amd.c
@@ -1116,7 +1116,8 @@ static int allocate_threshold_blocks(unsigned int cpu, struct threshold_bank *tb
else
tb->blocks = b;
- err = kobject_init_and_add(&b->kobj, &threshold_ktype, tb->kobj, get_name(cpu, bank, b));
+ err = kobject_init_and_add(&b->kobj, &threshold_ktype, tb->kobj, "%s",
+ get_name(cpu, bank, b));
if (err)
goto out_free;
recurse:
@@ -1148,13 +1149,13 @@ static int __threshold_add_blocks(struct threshold_bank *b)
struct threshold_block *tmp = NULL;
int err = 0;
- err = kobject_add(&b->blocks->kobj, b->kobj, b->blocks->kobj.name);
+ err = kobject_add(&b->blocks->kobj, b->kobj, "%s", b->blocks->kobj.name);
if (err)
return err;
list_for_each_entry_safe(pos, tmp, head, miscj) {
- err = kobject_add(&pos->kobj, b->kobj, pos->kobj.name);
+ err = kobject_add(&pos->kobj, b->kobj, "%s", pos->kobj.name);
if (err) {
list_for_each_entry_safe_reverse(pos, tmp, head, miscj)
kobject_del(&pos->kobj);
@@ -1184,7 +1185,7 @@ static int threshold_create_bank(struct threshold_bank **bp, unsigned int cpu,
if (nb && nb->bank4) {
/* yes, use it */
b = nb->bank4;
- err = kobject_add(b->kobj, &dev->kobj, name);
+ err = kobject_add(b->kobj, &dev->kobj, "%s", name);
if (err)
goto out;
--
2.36.1.255.ge46751e96f-goog
More information about the Alsa-devel
mailing list