From: OGAWA Hirofumi <hirof...@mail.parknet.co.jp>

If ->follow_link handler return the error, it should decrement
nd->path refcnt.

This patch fix it.

Signed-off-by: OGAWA Hirofumi <hirof...@mail.parknet.co.jp>
Signed-off-by: Steven Whitehouse <swhit...@redhat.com>
---
 fs/gfs2/ops_inode.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/fs/gfs2/ops_inode.c b/fs/gfs2/ops_inode.c
index 78f73ca..84350e1 100644
--- a/fs/gfs2/ops_inode.c
+++ b/fs/gfs2/ops_inode.c
@@ -1088,7 +1088,8 @@ static void *gfs2_follow_link(struct dentry *dentry, 
struct nameidata *nd)
                error = vfs_follow_link(nd, buf);
                if (buf != array)
                        kfree(buf);
-       }
+       } else
+               path_put(&nd->path);
 
        return ERR_PTR(error);
 }
-- 
1.6.2.5

Reply via email to