aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2023-11-09 20:18:47 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2023-11-12 00:31:13 +0000
commitd0b4efe6d294940d668171071eb71aab870139ab (patch)
treeac62203ce296709aabf155dec0d4fca8e8d47fb0
parent5d15f0d5406b6d27ecc8fa21a6d93754bf6c85f4 (diff)
downloadsrc-d0b4efe6d294940d668171071eb71aab870139ab.tar.gz
src-d0b4efe6d294940d668171071eb71aab870139ab.zip
vfs_domount_update(): ensure that 'goto end' works
PR: 274992 (cherry picked from commit ede4c412b3ea9289ef42c664b01b6b5ff7eac434)
-rw-r--r--sys/kern/vfs_mount.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c
index aa4642c0ba8c..1a559bfd998e 100644
--- a/sys/kern/vfs_mount.c
+++ b/sys/kern/vfs_mount.c
@@ -1380,6 +1380,8 @@ vfs_domount_update(
VOP_UNLOCK(vp);
rootvp = NULL;
+ vfs_op_enter(mp);
+ vn_seqc_write_begin(vp);
if (vfs_getopt(*optlist, "fsid", (void **)&fsid_up,
&fsid_up_len) == 0) {
@@ -1394,9 +1396,6 @@ vfs_domount_update(
vfs_deleteopt(*optlist, "fsid");
}
- vfs_op_enter(mp);
- vn_seqc_write_begin(vp);
-
MNT_ILOCK(mp);
if ((mp->mnt_kern_flag & MNTK_UNMOUNT) != 0) {
MNT_IUNLOCK(mp);