diff --git a/fs/cramfs/inode.c b/fs/cramfs/inode.c index 124b093d14e5671e549c77fb9c2c5398f9e93fc1..c4fb9ad7c808175d0a4b358bb3bb13da9e42dabb 100644 --- a/fs/cramfs/inode.c +++ b/fs/cramfs/inode.c @@ -808,10 +808,7 @@ static struct dentry *cramfs_lookup(struct inode *dir, struct dentry *dentry, un } out: mutex_unlock(&read_mutex); - if (IS_ERR(inode)) - return ERR_CAST(inode); - d_add(dentry, inode); - return NULL; + return d_splice_alias(inode, dentry); } static int cramfs_readpage(struct file *file, struct page *page)