My guess is that this has been deemed a non-issue until now because '-o allow_other' is not the norm.
The kernel code doing this is straightforward: fs/namespace.;do_umount() calls sb->umount_begin() if MNT_FORCE is specified; fs/fuse/inode.c:fuse_umount_begin() calls: fuse_abort_conn(get_fuse_conn_super(sb))
So the answer presumable is for fuse_umount_begin() to only call fuse_abort_conn() if the caller is in fact the owner of the sb? If so, go ahead. If not, and if there are other remaining mounts, do nothing. Or finally, if not, and there are no other remaining mounts, then go ahead.
My guess is that this has been deemed a non-issue until now because '-o allow_other' is not the norm.
The kernel code doing this is straightforward: fs/namespace. ;do_umount( ) calls sb->umount_begin() if MNT_FORCE is specified; fs/fuse/ inode.c: fuse_umount_ begin() calls: fuse_abort_ conn(get_ fuse_conn_ super(sb) )
So the answer presumable is for fuse_umount_begin() to only call fuse_abort_conn() if the caller is in fact the owner of the sb? If so, go ahead. If not, and if there are other remaining mounts, do nothing. Or finally, if not, and there are no other remaining mounts, then go ahead.