diff options
| author | Ingo Molnar <mingo@kernel.org> | 2012-11-14 08:49:49 +0100 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2012-11-14 08:49:49 +0100 |
| commit | a7a0aaa17ace589897021d668e09d474e7fc4c4d (patch) | |
| tree | 41de5bb6fb7135d950ef8b344e1e02d1208449c8 /kernel/pid_namespace.c | |
| parent | 38ca9c927c7d3db61f57e3d3a9334958c3af6e9a (diff) | |
| parent | 77b67063bb6bce6d475e910d3b886a606d0d91f7 (diff) | |
Merge tag 'v3.7-rc5' into sched/core
Merge Linux 3.7-rc5, to pick up fixes.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/pid_namespace.c')
| -rw-r--r-- | kernel/pid_namespace.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c index eb00be205811..7b07cc0dfb75 100644 --- a/kernel/pid_namespace.c +++ b/kernel/pid_namespace.c @@ -71,12 +71,22 @@ err_alloc: return NULL; } +/* MAX_PID_NS_LEVEL is needed for limiting size of 'struct pid' */ +#define MAX_PID_NS_LEVEL 32 + static struct pid_namespace *create_pid_namespace(struct pid_namespace *parent_pid_ns) { struct pid_namespace *ns; unsigned int level = parent_pid_ns->level + 1; - int i, err = -ENOMEM; + int i; + int err; + + if (level > MAX_PID_NS_LEVEL) { + err = -EINVAL; + goto out; + } + err = -ENOMEM; ns = kmem_cache_zalloc(pid_ns_cachep, GFP_KERNEL); if (ns == NULL) goto out; |
