]> Git Repo - linux.git/commit - kernel/nsproxy.c
user namespace: add the framework
authorCedric Le Goater <[email protected]>
Mon, 16 Jul 2007 06:40:59 +0000 (23:40 -0700)
committerLinus Torvalds <[email protected]>
Mon, 16 Jul 2007 16:05:47 +0000 (09:05 -0700)
commitacce292c82d4d82d35553b928df2b0597c3a9c78
tree464288f40db9c254da214c400d0880ee50dc37f3
parent7d69a1f4a72b18876c99c697692b78339d491568
user namespace: add the framework

Basically, it will allow a process to unshare its user_struct table,
resetting at the same time its own user_struct and all the associated
accounting.

A new root user (uid == 0) is added to the user namespace upon creation.
Such root users have full privileges and it seems that theses privileges
should be controlled through some means (process capabilities ?)

The unshare is not included in this patch.

Changes since [try #4]:
- Updated get_user_ns and put_user_ns to accept NULL, and
  get_user_ns to return the namespace.

Changes since [try #3]:
- moved struct user_namespace to files user_namespace.{c,h}

Changes since [try #2]:
- removed struct user_namespace* argument from find_user()

Changes since [try #1]:
- removed struct user_namespace* argument from find_user()
- added a root_user per user namespace

Signed-off-by: Cedric Le Goater <[email protected]>
Signed-off-by: Serge E. Hallyn <[email protected]>
Acked-by: Pavel Emelianov <[email protected]>
Cc: Herbert Poetzl <[email protected]>
Cc: Kirill Korotaev <[email protected]>
Cc: Eric W. Biederman <[email protected]>
Cc: Chris Wright <[email protected]>
Cc: Stephen Smalley <[email protected]>
Cc: James Morris <[email protected]>
Cc: Andrew Morgan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
include/linux/init_task.h
include/linux/nsproxy.h
include/linux/sched.h
include/linux/user_namespace.h [new file with mode: 0644]
init/Kconfig
kernel/Makefile
kernel/fork.c
kernel/nsproxy.c
kernel/sys.c
kernel/user.c
kernel/user_namespace.c [new file with mode: 0644]
This page took 0.061018 seconds and 4 git commands to generate.