If ->follow_link handler return the error, it should decrement nd->path refcnt.
This patch fix it. Signed-off-by: OGAWA Hirofumi <[email protected]> --- fs/gfs2/ops_inode.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff -puN fs/gfs2/ops_inode.c~namei-gfs2-follow_link-fix fs/gfs2/ops_inode.c --- linux-2.6/fs/gfs2/ops_inode.c~namei-gfs2-follow_link-fix 2010-01-12 00:15:12.000000000 +0900 +++ linux-2.6-hirofumi/fs/gfs2/ops_inode.c 2010-01-12 00:15:12.000000000 +0900 @@ -1086,7 +1086,8 @@ static void *gfs2_follow_link(struct den error = vfs_follow_link(nd, buf); if (buf != array) kfree(buf); - } + } else + path_put(&nd->path); return ERR_PTR(error); } _ -- OGAWA Hirofumi <[email protected]>
