summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/overlayfs/namei.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/overlayfs/namei.c b/fs/overlayfs/namei.c
index 03d8c5132477..35418317ecf2 100644
--- a/fs/overlayfs/namei.c
+++ b/fs/overlayfs/namei.c
@@ -56,6 +56,15 @@ static int ovl_check_redirect(struct dentry *dentry, struct ovl_lookup_data *d,
56 if (s == next) 56 if (s == next)
57 goto invalid; 57 goto invalid;
58 } 58 }
59 /*
60 * One of the ancestor path elements in an absolute path
61 * lookup in ovl_lookup_layer() could have been opaque and
62 * that will stop further lookup in lower layers (d->stop=true)
63 * But we have found an absolute redirect in decendant path
64 * element and that should force continue lookup in lower
65 * layers (reset d->stop).
66 */
67 d->stop = false;
59 } else { 68 } else {
60 if (strchr(buf, '/') != NULL) 69 if (strchr(buf, '/') != NULL)
61 goto invalid; 70 goto invalid;