aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2016-09-22 13:52:03 -0400
committerEric W. Biederman <ebiederm@xmission.com>2016-09-22 13:52:03 -0400
commit9c722e406a64db181f6a7b53a19a58fe61501f99 (patch)
treeb76e85670a7081f720e726a48342ed8f7ed9ebaa
parent537f7ccb396804c6d0057b93ba8eb104ba44f851 (diff)
userns; Document per user per user namespace limits.
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-rw-r--r--Documentation/sysctl/README1
-rw-r--r--Documentation/sysctl/user.txt66
2 files changed, 67 insertions, 0 deletions
diff --git a/Documentation/sysctl/README b/Documentation/sysctl/README
index 8c3306e01d52..91f54ffa0077 100644
--- a/Documentation/sysctl/README
+++ b/Documentation/sysctl/README
@@ -69,6 +69,7 @@ proc/ <empty>
69sunrpc/ SUN Remote Procedure Call (NFS) 69sunrpc/ SUN Remote Procedure Call (NFS)
70vm/ memory management tuning 70vm/ memory management tuning
71 buffer and cache management 71 buffer and cache management
72user/ Per user per user namespace limits
72 73
73These are the subdirs I have on my system. There might be more 74These are the subdirs I have on my system. There might be more
74or other subdirs in another setup. If you see another dir, I'd 75or other subdirs in another setup. If you see another dir, I'd
diff --git a/Documentation/sysctl/user.txt b/Documentation/sysctl/user.txt
new file mode 100644
index 000000000000..1291c498f78f
--- /dev/null
+++ b/Documentation/sysctl/user.txt
@@ -0,0 +1,66 @@
1Documentation for /proc/sys/user/* kernel version 4.9.0
2 (c) 2016 Eric Biederman <ebiederm@xmission.com>
3
4==============================================================
5
6This file contains the documetation for the sysctl files in
7/proc/sys/user.
8
9The files in this directory can be used to override the default
10limits on the number of namespaces and other objects that have
11per user per user namespace limits.
12
13The primary purpose of these limits is to stop programs that
14malfunction and attempt to create a ridiculous number of objects,
15before the malfunction becomes a system wide problem. It is the
16intention that the defaults of these limits are set high enough that
17no program in normal operation should run into these limits.
18
19The creation of per user per user namespace objects are charged to
20the user in the user namespace who created the object and
21verified to be below the per user limit in that user namespace.
22
23The creation of objects is also charged to all of the users
24who created user namespaces the creation of the object happens
25in (user namespaces can be nested) and verified to be below the per user
26limits in the user namespaces of those users.
27
28This recursive counting of created objects ensures that creating a
29user namespace does not allow a user to escape their current limits.
30
31Currently, these files are in /proc/sys/user:
32
33- max_cgroup_namespaces
34
35 The maximum number of cgroup namespaces that any user in the current
36 user namespace may create.
37
38- max_ipc_namespaces
39
40 The maximum number of ipc namespaces that any user in the current
41 user namespace may create.
42
43- max_mnt_namespaces
44
45 The maximum number of mount namespaces that any user in the current
46 user namespace may create.
47
48- max_net_namespaces
49
50 The maximum number of network namespaces that any user in the
51 current user namespace may create.
52
53- max_pid_namespaces
54
55 The maximum number of pid namespaces that any user in the current
56 user namespace may create.
57
58- max_user_namespaces
59
60 The maximum number of user namespaces that any user in the current
61 user namespace may create.
62
63- max_uts_namespaces
64
65 The maximum number of user namespaces that any user in the current
66 user namespace may create.