Skip to contentSkip to conversation

driver core: don't pass cls->name as format string in sysdev_class_register()

PATCH In review [email protected] 2 participants 2 messages Dec 13, 2008 Driver core

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 driver core: don't pass cls->name as format string in sysdev_class_register()

From: Ming Lei <[email protected]>

If cls->name contains substring which can be interpreted as format,maybe it causes oops, so fix it.

---
 drivers/base/sys.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/base/sys.c +1 -1
index c98c31e..736ecf7 100644
@@ -137,7 +137,7 @@ int sysdev_class_register(struct sysdev_class * cls)
 	cls->kset.kobj.parent = &system_kset->kobj;
 	cls->kset.kobj.ktype = &ktype_sysdev_class;
 	cls->kset.kobj.kset = system_kset;
-	kobject_set_name(&cls->kset.kobj, cls->name);
+	kobject_set_name(&cls->kset.kobj, "%s", cls->name);
 	return kset_register(&cls->kset);
 }
 
Signature · 1 line
1.6.0
#1 lore raw
Quoted 4 lines · On Sat, Dec 13, 2008 at 06:34:00PM +0800, [email protected] wrote:

From: Ming Lei <[email protected]>

If cls->name contains substring which can be interpreted as format,maybe it causes oops, so fix it.

Why not fix the code that would set cls->name to such a wrong field? I don't see any in-kernel code that does this, do you?

thanks,

greg k-h