aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMathieu Desnoyers <compudj@krystal.dyndns.org>2006-11-24 13:48:19 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2006-12-13 18:38:45 -0500
commit63223a0654c2a473ae64835819b87826cb7415ee (patch)
tree8c8d74c7bb4cd9b9f538d4701d92b2e6a3cca496
parentbafb232ec42aa6862798236009e8e5233d05ab36 (diff)
DebugFS : file/directory creation error handling
Fix error handling of file and directory creation in DebugFS. The error path should release the file system because no _remove will be called for this erroneous creation. Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--fs/debugfs/inode.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c
index 05d1a9c4fb76..d6c5fb53c746 100644
--- a/fs/debugfs/inode.c
+++ b/fs/debugfs/inode.c
@@ -206,13 +206,15 @@ struct dentry *debugfs_create_file(const char *name, mode_t mode,
206 206
207 pr_debug("debugfs: creating file '%s'\n",name); 207 pr_debug("debugfs: creating file '%s'\n",name);
208 208
209 error = simple_pin_fs(&debug_fs_type, &debugfs_mount, &debugfs_mount_count); 209 error = simple_pin_fs(&debug_fs_type, &debugfs_mount,
210 &debugfs_mount_count);
210 if (error) 211 if (error)
211 goto exit; 212 goto exit;
212 213
213 error = debugfs_create_by_name(name, mode, parent, &dentry); 214 error = debugfs_create_by_name(name, mode, parent, &dentry);
214 if (error) { 215 if (error) {
215 dentry = NULL; 216 dentry = NULL;
217 simple_release_fs(&debugfs_mount, &debugfs_mount_count);
216 goto exit; 218 goto exit;
217 } 219 }
218 220