xfs
[Top] [All Lists]

[PATCH] xfs: don't leak root inode reference

To: xfs@xxxxxxxxxxx
Subject: [PATCH] xfs: don't leak root inode reference
From: Ben Myers <bpm@xxxxxxx>
Date: Mon, 26 Aug 2013 15:47:30 -0500
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
User-agent: Mutt/1.5.20 (2009-06-14)
Looks like in 48fde701 we removed the iput of the root inode in
xfs_fs_fill_super for the error case.  Add it back.

Signed-off-by: Ben Myers <bpm@xxxxxxx>

---
 fs/xfs/xfs_super.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Index: b/fs/xfs/xfs_super.c
===================================================================
--- a/fs/xfs/xfs_super.c        2013-08-26 15:36:09.170848579 -0500
+++ b/fs/xfs/xfs_super.c        2013-08-26 15:40:19.450817933 -0500
@@ -1493,12 +1493,12 @@ xfs_fs_fill_super(
        }
        if (is_bad_inode(root)) {
                error = EINVAL;
-               goto out_unmount;
+               goto out_iput;
        }
        sb->s_root = d_make_root(root);
        if (!sb->s_root) {
                error = ENOMEM;
-               goto out_unmount;
+               goto out_iput;
        }
 
        return 0;
@@ -1519,6 +1519,8 @@ out_destroy_workqueues:
  out:
        return -error;
 
+ out_iput:
+       iput(root);
  out_unmount:
        xfs_filestream_unmount(mp);
        xfs_unmountfs(mp);

<Prev in Thread] Current Thread [Next in Thread>