git: ede4c412b3ea - main - vfs_domount_update(): ensure that 'goto end' works
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 09 Nov 2023 20:22:01 UTC
The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ede4c412b3ea9289ef42c664b01b6b5ff7eac434 commit ede4c412b3ea9289ef42c664b01b6b5ff7eac434 Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2023-11-09 20:18:47 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2023-11-09 20:18:47 +0000 vfs_domount_update(): ensure that 'goto end' works We need to vfs_op_enter()/vn_seqc_write_start() before jumping to cleanup. PR: 274992 Reported by: trasz Sponsored by: The FreeBSD Foundation MFC after: 3 days Fixes: 9ef7a491a4236810e50f0a2ee8d52f5c4bb02c64 --- sys/kern/vfs_mount.c | 5 ++--- 1 file 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);