projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux...
[cascardo/linux.git]
/
fs
/
fat
/
inode.c
diff --git
a/fs/fat/inode.c
b/fs/fat/inode.c
index
3ab8410
..
21687e3
100644
(file)
--- a/
fs/fat/inode.c
+++ b/
fs/fat/inode.c
@@
-1496,11
+1496,13
@@
int fat_fill_super(struct super_block *sb, void *data, int silent, int isvfat,
root_inode->i_ino = MSDOS_ROOT_INO;
root_inode->i_version = 1;
error = fat_read_root(root_inode);
root_inode->i_ino = MSDOS_ROOT_INO;
root_inode->i_version = 1;
error = fat_read_root(root_inode);
- if (error < 0)
+ if (error < 0) {
+ iput(root_inode);
goto out_fail;
goto out_fail;
+ }
error = -ENOMEM;
insert_inode_hash(root_inode);
error = -ENOMEM;
insert_inode_hash(root_inode);
- sb->s_root = d_
alloc
_root(root_inode);
+ sb->s_root = d_
make
_root(root_inode);
if (!sb->s_root) {
fat_msg(sb, KERN_ERR, "get root inode failed");
goto out_fail;
if (!sb->s_root) {
fat_msg(sb, KERN_ERR, "get root inode failed");
goto out_fail;
@@
-1516,8
+1518,6
@@
out_invalid:
out_fail:
if (fat_inode)
iput(fat_inode);
out_fail:
if (fat_inode)
iput(fat_inode);
- if (root_inode)
- iput(root_inode);
unload_nls(sbi->nls_io);
unload_nls(sbi->nls_disk);
if (sbi->options.iocharset != fat_default_iocharset)
unload_nls(sbi->nls_io);
unload_nls(sbi->nls_disk);
if (sbi->options.iocharset != fat_default_iocharset)