4.13-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Amir Goldstein <[email protected]>

commit 7937a56fdf0b064c2ffa33025210f725a4ebc822 upstream.

Treat ENOENT from index entry lookup the same way as treating a returned
negative dentry. Apparently, either could be returned if file is not
found, depending on the underlying file system.

Fixes: 359f392ca53e ("ovl: lookup index entry for copy up origin")
Signed-off-by: Amir Goldstein <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 fs/overlayfs/namei.c |    4 ++++
 1 file changed, 4 insertions(+)

--- a/fs/overlayfs/namei.c
+++ b/fs/overlayfs/namei.c
@@ -507,6 +507,10 @@ static struct dentry *ovl_lookup_index(s
        index = lookup_one_len_unlocked(name.name, ofs->indexdir, name.len);
        if (IS_ERR(index)) {
                err = PTR_ERR(index);
+               if (err == -ENOENT) {
+                       index = NULL;
+                       goto out;
+               }
                pr_warn_ratelimited("overlayfs: failed inode index lookup 
(ino=%lu, key=%*s, err=%i);\n"
                                    "overlayfs: mount with '-o index=off' to 
disable inodes index.\n",
                                    d_inode(origin)->i_ino, name.len, name.name,


Reply via email to