[Bug 287431] fusefs: deadlock during unmount if FUSE_INIT never completed
Date: Tue, 10 Jun 2025 19:33:59 UTC
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.