This bug was fixed in the package fuse-umfuse-ext2 - 0.4-1.1ubuntu0.17.04.1
--------------- fuse-umfuse-ext2 (0.4-1.1ubuntu0.17.04.1) zesty; urgency=high * Correctly release locks in op_link (LP: #1674868). -- Andrew Caldwell <andy.m.caldw...@googlemail.com> Wed, 22 Mar 2017 19:42:35 +0000 ** Changed in: fuse-umfuse-ext2 (Ubuntu Zesty) Status: Fix Committed => Fix Released -- You received this bug notification because you are a member of नेपाली भाषा समायोजकहरुको समूह, which is subscribed to Xenial. Matching subscriptions: Ubuntu 16.04 Bugs https://bugs.launchpad.net/bugs/1674868 Title: Fuse-ext2 deadlocks on creating symlinks Status in fuse-umfuse-ext2 package in Ubuntu: Fix Released Status in fuse-umfuse-ext2 source package in Trusty: Fix Released Status in fuse-umfuse-ext2 source package in Xenial: Fix Released Status in fuse-umfuse-ext2 source package in Zesty: Fix Released Status in fuse-umfuse-ext2 source package in Artful: Fix Released Bug description: [Impact] * Any attempt to create/overwrite symlinks in a partition mounted by fuseext2 causes the fuseext2 process to deadlock, preventing the mounted filesystem from being used at all until the userspace process is killed and the filesystem is remounted. [Test Case] * dd if=/dev/zero of=partition bs=1M count=200 * mkfs.ext2 partition * mkdir mount * fuseext2 partition mount -o rw+ * cd mount * touch test * ln -s test link - Doesn't complete * In another shell try to do anything else in the mount directory (ls, touch, rm) - Don't complete [Regression Potential] * Since this changes the locking strategy of the code to hold locks less, the main risk is exposing a case where data can be accessed in a non-threadsafe manner, leading to unexpected behaviour. * The places where the change has been made are at the exit points of the function, and match where similar unlocks are made in other places in the code. * Since the program at risk is (by design) a userspace program, the risk of kernel data leakage is minimal. [Other Info] * I can't actually work out where the upstream code for this project lives, the only upstream I could find is https://github.com/alperakcan/fuse-ext2 but that doesn't have any locking code at all (even in the reentrant branch) so I can't see where this issue came from. * This issue seems to apply to all versions of fuseext2 in the ubuntu repos (well, at least it's there in trusty, xenial and zesty) [Original Description] Trying to create a symlink in a filesystem mounted by fuseext2 causes the fuseext2 userspace process to deadlock before responding to the fuse request. This is simply due to a code bug in fuse-ext2/op_link.c (lines 104 and 109) where the code calls FUSE_EXT2_LOCK rather than FUSE_EXT2_UNLOCK on exiting the function. I've confirmed that making that changes allows me to create symlinks happily on the mounted filesystem. The bug appears to exist upstream too. System info: $ lsb_release -rd Description: Linux Mint 18.1 Serena Release: 18.1 Software version: $ apt show fuseext2 Package: fuseext2 Version: 0.4-1.1 Priority: optional Section: universe/misc Source: fuse-umfuse-ext2 Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-disc...@lists.ubuntu.com> Original-Maintainer: Debian VSquare Team <pkg-vsquare-de...@lists.alioth.debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 103 kB Depends: e2fslibs (>= 1.42), libc6 (>= 2.4), libfuse2 (>= 2.8.1), fuse Homepage: http://view-os.sourceforge.net Download-Size: 24.7 kB APT-Manual-Installed: yes APT-Sources: http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/fuse-umfuse-ext2/+bug/1674868/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~group.of.nepali.translators Post to : group.of.nepali.translators@lists.launchpad.net Unsubscribe : https://launchpad.net/~group.of.nepali.translators More help : https://help.launchpad.net/ListHelp