ANDROID: sdcardfs: d_make_root calls iput
authorDaniel Rosenberg <drosen@google.com>
Wed, 11 Apr 2018 23:24:51 +0000 (16:24 -0700)
committerDaniel Rosenberg <drosen@google.com>
Wed, 25 Apr 2018 20:40:55 +0000 (20:40 +0000)
d_make_root will call iput on failure, so we
shouldn't try to do that ourselves.

Signed-off-by: Daniel Rosenberg <drosen@google.com>
Bug: 77923821
Change-Id: I1abb4afb0f894ab917b7c6be8c833676f436beb7

fs/sdcardfs/main.c

index c3120108f627feabe6b9c204529d32d5c4e497cf..1a977493f88dd342082537411da248e411b5b5f5 100644 (file)
@@ -316,7 +316,7 @@ static int sdcardfs_read_super(struct vfsmount *mnt, struct super_block *sb,
        sb->s_root = d_make_root(inode);
        if (!sb->s_root) {
                err = -ENOMEM;
-               goto out_iput;
+               goto out_sput;
        }
        d_set_d_op(sb->s_root, &sdcardfs_ci_dops);
 
@@ -361,8 +361,6 @@ static int sdcardfs_read_super(struct vfsmount *mnt, struct super_block *sb,
        /* no longer needed: free_dentry_private_data(sb->s_root); */
 out_freeroot:
        dput(sb->s_root);
-out_iput:
-       iput(inode);
 out_sput:
        /* drop refs we took earlier */
        atomic_dec(&lower_sb->s_active);