devtmpfs: unlock mutex in case of string allocation error
Kay Sievers [Tue, 22 Dec 2009 21:25:16 +0000 (22:25 +0100)]
Reported-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

drivers/base/devtmpfs.c

index 278371c..090dd48 100644 (file)
@@ -101,8 +101,10 @@ static int create_path(const char *nodepath)
 
                /* parent directories do not exist, create them */
                path = kstrdup(nodepath, GFP_KERNEL);
-               if (!path)
-                       return -ENOMEM;
+               if (!path) {
+                       err = -ENOMEM;
+                       goto out;
+               }
                s = path;
                for (;;) {
                        s = strchr(s, '/');
@@ -117,6 +119,7 @@ static int create_path(const char *nodepath)
                }
                kfree(path);
        }
+out:
        mutex_unlock(&dirlock);
        return err;
 }