summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/overlayfs/super.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c
index bf8537c7f455..de9d2ee68ccf 100644
--- a/fs/overlayfs/super.c
+++ b/fs/overlayfs/super.c
@@ -303,6 +303,10 @@ static inline struct dentry *ovl_lookup_real(struct dentry *dir,
} else if (!dentry->d_inode) {
dput(dentry);
dentry = NULL;
+ } else if (dentry->d_flags & DCACHE_MANAGED_DENTRY) {
+ dput(dentry);
+ /* Don't support traversing automounts */
+ dentry = ERR_PTR(-EREMOTE);
}
return dentry;
}
@@ -700,12 +704,12 @@ static bool ovl_is_allowed_fs_type(struct dentry *root)
/*
* We don't support:
- * - automount filesystems
+ * - autofs
* - filesystems with revalidate (FIXME for lower layer)
* - filesystems with case insensitive names
*/
if (dop &&
- (dop->d_manage || dop->d_automount ||
+ (dop->d_manage ||
dop->d_revalidate || dop->d_weak_revalidate ||
dop->d_compare || dop->d_hash)) {
return false;