diff options
Diffstat (limited to 'fs/jffs2/fs.c')
| -rw-r--r-- | fs/jffs2/fs.c | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/jffs2/fs.c b/fs/jffs2/fs.c index 8bc2c80ab15..459d39d1ea0 100644 --- a/fs/jffs2/fs.c +++ b/fs/jffs2/fs.c @@ -465,7 +465,12 @@ struct inode *jffs2_new_inode (struct inode *dir_i, int mode, struct jffs2_raw_i  	inode->i_blocks = 0;  	inode->i_size = 0; -	insert_inode_hash(inode); +	if (insert_inode_locked(inode) < 0) { +		make_bad_inode(inode); +		unlock_new_inode(inode); +		iput(inode); +		return ERR_PTR(-EINVAL); +	}  	return inode;  }  |