git: kernel - Fix race in VFS_MPLOCK/VFS_MPUNLOCK (affects UFS)

Matthew Dillon dillon at
Thu Nov 21 11:20:49 PST 2019

commit 465e06085cd792b14e8161760732c758c7024a2d
Author: Matthew Dillon <dillon at>
Date:   Thu Nov 21 11:13:43 2019 -0800

    kernel - Fix race in VFS_MPLOCK/VFS_MPUNLOCK (affects UFS)
    * In the one case where vop_strategy() uses VFS_MPLOCK/VFS_MPUNLOCK,
      it is actually possible for the vnode to go away after the strategy
      call since no ref or lock is held across the call.
    * Refactor the macros generally to cache the mount pointer , so
      VFS_MPUNLOCK() no longer takes an argument.
    * Primarily affects UFS
    Reported-by: tuxillo

Summary of changes:
 sys/kern/vfs_vfsops.c |  26 ++++----
 sys/kern/vfs_vopops.c | 163 +++++++++++++++++++++++++++++++++-----------------
 sys/sys/mount.h       |  17 +++---
 3 files changed, 131 insertions(+), 75 deletions(-)

DragonFly BSD source repository

More information about the Commits mailing list