diff options
Diffstat (limited to 'drivers/base/devtmpfs.c')
| -rw-r--r-- | drivers/base/devtmpfs.c | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c index 278371c7bf5..090dd485130 100644 --- a/drivers/base/devtmpfs.c +++ b/drivers/base/devtmpfs.c @@ -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;  }  |