I applied the proposed fix, rebuilt and installed the new package, and re-ran the tests.

It no longer freezes, so the problem appears to be resolved.


--- fscrypt-0.3.7/filesystem/mountpoint.go
+++ fscrypt-0.3.7/filesystem/mountpoint.go
@@ -300,6 +300,14 @@ func readMountInfo(r io.Reader) error {
            continue
        }

+       // Skip FUSE filesystems to avoid blocking on unresponsive FUSE daemons. +       // This prevents a deadlock scenario where sshfs mounts a remote filesystem +       // while sshd is blocked in PAM session opening (waiting for SFTP data),
+       // creating a circular dependency that hangs indefinitely.
+       if strings.HasPrefix(mnt.FilesystemType, "fuse") {
+           continue
+       }
+
        // We can only use mountpoints that are directories for fscrypt.
        if !isDir(mnt.Path) {
            log.Printf("ignoring mountpoint %q because it is not a directory", mnt.Path)

Reply via email to