driver core: don't pass cls->name as format string in sysdev_class_register()
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.
Signed-off-by Ming Lei <[email protected]>
--- drivers/base/sys.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/base/sys.c +1 -1
@@ -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
Quoted 4 lines · On Sat, Dec 13, 2008 at 06:34:00PM +0800, [email protected] wrote:
From: Ming Lei <[email protected]>
If
cls->namecontains 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