diff --git a/fs/ntfs3/super.c b/fs/ntfs3/super.c index ff70e2a5f3acb3..1e2c04e48f98f3 100644 --- a/fs/ntfs3/super.c +++ b/fs/ntfs3/super.c @@ -1286,9 +1286,9 @@ static int ntfs_fill_super(struct super_block *sb, struct fs_context *fc) ref.low = cpu_to_le32(MFT_REC_ROOT); ref.seq = cpu_to_le16(MFT_REC_ROOT); inode = ntfs_iget5(sb, &ref, &NAME_ROOT); - if (IS_ERR(inode)) { + if (IS_ERR(inode) || !inode->i_op) { ntfs_err(sb, "Failed to load root."); - err = PTR_ERR(inode); + err = IS_ERR(inode) ? PTR_ERR(inode) : -EINVAL; goto out; }