git: DragonFly_RELEASE_6_2 kernel - Fix lock order reversal in cache_resolve_mp()

Matthew Dillon dillon at crater.dragonflybsd.org
Tue May 31 11:19:22 PDT 2022


commit 179ea3791a98b27c41ced2fbae94a2ce41c2f089
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu May 26 22:34:15 2022 -0700

    kernel - Fix lock order reversal in cache_resolve_mp()
    
    * This function is a helper when path lookups cross mount
      boundaries.
    
    * Locking order between namecache records and vnodes must
      be { ncp, vnode }.
    
    * Fix a lock order reversal in cache_resolve_mp() which
      was doing { vnode, ncp }.  This deadlock is very rare
      because mount points are almost never evicted from the
      namecache.  However, dsynth can trigger this bug due
      to its heavy use of null mounts and high concurrent path
      lookup loads.

Summary of changes:
 sys/kern/vfs_cache.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/179ea3791a98b27c41ced2fbae94a2ce41c2f089


-- 
DragonFly BSD source repository


More information about the Commits mailing list