Re: [PATCH] devpts: Add ptmx_uid and ptmx_gid options

From: Eric W. Biederman
Date: Thu May 28 2015 - 17:55:49 EST


Kenton Varda <kenton@xxxxxxxxxxxx> writes:

> On Thu, May 28, 2015 at 1:06 PM, Alexander Larsson <alexl@xxxxxxxxxx> wrote:
>> On Thu, 2015-05-28 at 12:14 -0500, Eric W. Biederman wrote:
>>>
>>> > Where does the second namespace enter into this?
>>>
>>> Step a. Create create a user namespace where uid 0 is mapped to your
>>> real uid, and set up your sandbox (aka mount /dev/pts and everything
>>> else).
>>>
>>> Step b. Create a nested user namespace where your uid is identity
>>> mapped and run your desktop application. You can even drop all caps
>>> in
>>> your namespace.
>>
>> Just tried this. Its not the nicest, and it doubles the number of
>> namespaces in action for each sandbox, but it does work.
>
> How much overhead is involved in each user namespace?

sizeof(struct user_namespace).

> Is there any system-wide limit on total namespaces, other than RAM?

There is a system-wide maximum depth, but not count.

> Is there
> (non-negligible) CPU overhead for each syscall seeking permissions in
> the namespace?

ns_capable(ns, X) in some cases can walk up the from a starting user
namespace to the initial user. (The only non-constant operation I am
aware of). However unless the user namespace depth is deep it should
still take a negligible amount of time.

Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/