Re: [RFC v2 v2 0/1] ns: introduce binfmt_misc namespace

From: James Bottomley
Date: Tue Oct 02 2018 - 12:13:37 EST


On Tue, 2018-10-02 at 12:20 +0200, Laurent Vivier wrote:
> v2: no new namespace, binfmt_misc data are now part of
> ÂÂÂÂthe mount namespace
> ÂÂÂÂI put this in mount namespace instead of user namespace
> ÂÂÂÂbecause the mount namespace is already needed and
> ÂÂÂÂI don't want to force to have the user namespace for that.
> ÂÂÂÂAs this is a filesystem, it seems logic to have it here.
>
> This allows to define a new interpreter for each new container.
>
> But the main goal is to be able to chroot to a directory
> using a binfmt_misc interpreter without being root.

Reading all this, I don't quite understand why this works for me and
not for you (I think I get from your explanation that it doesn't work
for you, but I might have missed something):

jejb@jarvis:~> uname -m
x86_64
jejb@jarvis:~> unshare -r -m
root@jarvis:~# chroot /home/jejb/containers/aarch64
jarvis:/ # uname -m
aarch64

Of course to get that to work I have an 'F' entry in
/etc/binfmt.d/qemu-aarch64.conf

Which means I'm running the host emulator in the container, which is
what I want to do. I think another goal of the patches might be to use
different emulators for different aarch64 containers? Do you have a
use case for this, because right at the moment for arch emulation
containers I think a single host wide entry per static emulator is the
right approach.

James