Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e5afe54 authored by Al Viro's avatar Al Viro
Browse files

ext2: make sure that partially set up inodes won't be returned by ext2_iget()



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 5c1a68a3
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -611,8 +611,7 @@ struct inode *ext2_new_inode(struct inode *dir, umode_t mode,
	dquot_drop(inode);
	inode->i_flags |= S_NOQUOTA;
	clear_nlink(inode);
	unlock_new_inode(inode);
	iput(inode);
	discard_new_inode(inode);
	return ERR_PTR(err);

fail:
+3 −6
Original line number Diff line number Diff line
@@ -45,8 +45,7 @@ static inline int ext2_add_nondir(struct dentry *dentry, struct inode *inode)
		return 0;
	}
	inode_dec_link_count(inode);
	unlock_new_inode(inode);
	iput(inode);
	discard_new_inode(inode);
	return err;
}

@@ -192,8 +191,7 @@ static int ext2_symlink (struct inode * dir, struct dentry * dentry,

out_fail:
	inode_dec_link_count(inode);
	unlock_new_inode(inode);
	iput (inode);
	discard_new_inode(inode);
	goto out;
}

@@ -261,8 +259,7 @@ static int ext2_mkdir(struct inode * dir, struct dentry * dentry, umode_t mode)
out_fail:
	inode_dec_link_count(inode);
	inode_dec_link_count(inode);
	unlock_new_inode(inode);
	iput(inode);
	discard_new_inode(inode);
out_dir:
	inode_dec_link_count(dir);
	goto out;