kobject: sanitize argument for format string
authorKees Cook <keescook@chromium.org>
Thu, 6 Jun 2013 20:52:19 +0000 (13:52 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Jun 2013 23:05:50 +0000 (16:05 -0700)
Unlike kobject_set_name(), the kset_create_and_add() interface does not
provide a way to use format strings, so make sure that the interface
cannot be abused accidentally. It looks like all current callers use
static strings, so there's no existing flaw.

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
lib/kobject.c

index b7e29a6..4a1f33d 100644 (file)
@@ -805,7 +805,7 @@ static struct kset *kset_create(const char *name,
        kset = kzalloc(sizeof(*kset), GFP_KERNEL);
        if (!kset)
                return NULL;
-       retval = kobject_set_name(&kset->kobj, name);
+       retval = kobject_set_name(&kset->kobj, "%s", name);
        if (retval) {
                kfree(kset);
                return NULL;