diff options
-rw-r--r-- | fs/tracefs/inode.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/tracefs/inode.c b/fs/tracefs/inode.c index cbc8d5d2755a..c66f2423e1f5 100644 --- a/fs/tracefs/inode.c +++ b/fs/tracefs/inode.c | |||
@@ -340,8 +340,12 @@ static struct dentry *start_creating(const char *name, struct dentry *parent) | |||
340 | dput(dentry); | 340 | dput(dentry); |
341 | dentry = ERR_PTR(-EEXIST); | 341 | dentry = ERR_PTR(-EEXIST); |
342 | } | 342 | } |
343 | if (IS_ERR(dentry)) | 343 | |
344 | if (IS_ERR(dentry)) { | ||
344 | mutex_unlock(&parent->d_inode->i_mutex); | 345 | mutex_unlock(&parent->d_inode->i_mutex); |
346 | simple_release_fs(&tracefs_mount, &tracefs_mount_count); | ||
347 | } | ||
348 | |||
345 | return dentry; | 349 | return dentry; |
346 | } | 350 | } |
347 | 351 | ||