Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Jun 2025 19:33:59 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 287431] fusefs: deadlock during unmount if FUSE_INIT never completed
Message-ID:  <bug-287431-227@https.bugs.freebsd.org/bugzilla/>

index | next in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287431

            Bug ID: 287431
           Summary: fusefs: deadlock during unmount if FUSE_INIT never
                    completed
           Product: Base System
           Version: 15.0-CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: asomers@FreeBSD.org

The following sequence of events will lead to a deadlock

1) A process mounts a fuse file system but never responds to the FUSE_INIT
request.
2) Some other process tries to access the mountpoint.  Many different types of
access might trigger this bug, but the easiest example is ls, which will
trigger a FUSE_ACCESS request.  That operation will block in fuse_ticket_fetch
because FUSE_INIT hasn't completed yet.
3) Some process, possibly the daemon itself, tries to unmount the mount point. 
The unmount syscall will block in fuse_vfsop_root because the process from step
2 has the vnode lock for the fuse file system's root vnode.

I have a test case for this already, but not a solution.

-- 
You are receiving this mail because:
You are the assignee for the bug.

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-287431-227>