Comment 0 for bug 1605344

Revision history for this message
Sheng Yang (yasker) wrote :

The discussion starts at http://thread.gmane.org/gmane.linux.kernel.cgroups/15960/focus=2269876

Commit in the tree is:

commit a166e6726c6e12e28ac8489ff4e2faff7065a856
Author: Seth Forshee <email address hidden>
Date: Wed Jul 2 16:29:19 2014 -0500

    UBUNTU: SAUCE: fuse: Add support for pid namespaces

Description of the issue(copied from my report of lkml):

This patch caused a regression in our major container use case with
FUSE in Ubuntu 16.04, as patch was checked in as Ubuntu Sauce in
Ubuntu 4.4.0-6.21 kernel.

The use case is:
1. Create a Docker container.
2. Inside the container, start the FUSE backend, and mounted fs.
3. Following step 2 in the container, create a loopback device to map
a file in the mounted fuse to create a block device, which will be
available to the whole system.

It works well before this commit.

The use case is broken because no matter which namespace losetup runs,
the real request from loopback device seems always come from init ns,
thus it will be in different ns running fuse backend. So the request
will got denied, because the ns running fuse won't able to see the
things from higher level(level 0 in fact) pid namespace.