From 8bf3b25581c2a999ebf3bfc20784484fc5c8c3bb Mon Sep 17 00:00:00 2001
From: Vivek Goyal <vgoyal@redhat.com>
Date: Wed, 1 Nov 2017 15:37:22 -0400
Subject: [PATCH 10/11] ovl: Put upperdentry if ovl_check_origin() fails
Git-commit: 5455f92b54e516995a9ca45bbf790d3629c27a93
Patch-mainline: v4.15-rc1
References: bsc#1088704
If ovl_check_origin() fails, we should put upperdentry. We have a reference
on it by now. So goto out_put_upper instead of out.
Fixes: a9d019573e88 ("ovl: lookup non-dir copy-up-origin by file handle")
Cc: <stable@vger.kernel.org> #4.12
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Acked-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
---
fs/overlayfs/namei.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/overlayfs/namei.c b/fs/overlayfs/namei.c
index de0d4f742f36..31cd805b99a6 100644
--- a/fs/overlayfs/namei.c
+++ b/fs/overlayfs/namei.c
@@ -375,7 +375,7 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
err = ovl_check_origin(dentry, upperdentry,
&stack, &ctr);
if (err)
- goto out;
+ goto out_put_upper;
}
if (d.redirect) {
--
2.16.2