This cleans up the error handling and fixes a crash if a hostfs mount fails.
Signed-off-by: Jeff Dike <[email protected]>
Index: linux-2.6.11/fs/hostfs/hostfs_kern.c
===================================================================
--- linux-2.6.11.orig/fs/hostfs/hostfs_kern.c 2005-04-21 10:46:18.000000000 -0400
+++ linux-2.6.11/fs/hostfs/hostfs_kern.c 2005-04-21 12:35:24.000000000 -0400
@@ -991,13 +991,17 @@
goto out_put;
err = read_inode(root_inode);
- if(err)
- goto out_put;
+ if(err){
+ /* No iput in this case because the dput does that for us */
+ dput(sb->s_root);
+ sb->s_root = NULL;
+ goto out_free;
+ }
return(0);
out_put:
- iput(root_inode);
+ iput(root_inode);
out_free:
kfree(name);
out: