userns: Simplify the user_namespace by making userns->creator a kuid.
authorEric W. Biederman <ebiederm@xmission.com>
Thu, 17 Nov 2011 09:32:59 +0000 (01:32 -0800)
committerEric W. Biederman <ebiederm@xmission.com>
Thu, 26 Apr 2012 09:00:59 +0000 (02:00 -0700)
commit783291e6900292521a3895583785e0c04a56c5b3
tree9dd368a25ea61b5913646b1d93ec99e865c058ba
parent7b44ab978b77a91b327058a0f4db7e6fcdb90b92
userns: Simplify the user_namespace by making userns->creator a kuid.

- Transform userns->creator from a user_struct reference to a simple
  kuid_t, kgid_t pair.

  In cap_capable this allows the check to see if we are the creator of
  a namespace to become the classic suser style euid permission check.

  This allows us to remove the need for a struct cred in the mapping
  functions and still be able to dispaly the user namespace creators
  uid and gid as 0.

- Remove the now unnecessary delayed_work in free_user_ns.

  All that is left for free_user_ns to do is to call kmem_cache_free
  and put_user_ns.  Those functions can be called in any context
  so call them directly from free_user_ns removing the need for delayed work.

Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
include/linux/user_namespace.h
kernel/user.c
kernel/user_namespace.c
security/commoncap.c