git: 47039ba1e03b - stable/13 - Don't allow stacking of file mounts
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 06 Jan 2023 09:46:35 UTC
The branch stable/13 has been updated by dfr:
URL: https://cgit.FreeBSD.org/src/commit/?id=47039ba1e03b047e313f8f9d1d42ef89c0616163
commit 47039ba1e03b047e313f8f9d1d42ef89c0616163
Author: Doug Rabson <dfr@FreeBSD.org>
AuthorDate: 2022-12-06 13:24:55 +0000
Commit: Doug Rabson <dfr@FreeBSD.org>
CommitDate: 2023-01-06 07:57:57 +0000
Don't allow stacking of file mounts
Reviewed by: mjg, kib
Tested by: pho
(cherry picked from commit 71e9be1bd54cf54de6fa273af71468e790ccdf47)
---
sys/kern/vfs_mount.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c
index e6bb6036a5a0..21e60c9e74d1 100644
--- a/sys/kern/vfs_mount.c
+++ b/sys/kern/vfs_mount.c
@@ -1392,6 +1392,12 @@ vfs_domount(
if (error != 0)
return (error);
vp = nd.ni_vp;
+ /*
+ * Don't allow stacking file mounts to work around problems with the way
+ * that namei sets nd.ni_dvp to vp_crossmp for these.
+ */
+ if (vp->v_type == VREG)
+ fsflags |= MNT_NOCOVER;
if ((fsflags & MNT_UPDATE) == 0) {
if ((vp->v_vflag & VV_ROOT) != 0 &&
(fsflags & MNT_NOCOVER) != 0) {