On 01/31, Daniel Lezcano wrote:On 01/31/2011 02:22 PM, Oleg Nesterov wrote:My patch depends on 1/4, http://marc.info/?l=linux-kernel&m=127697468632667On 01/31, Daniel Lezcano wrote:Oh, ok. Right. Thanks for the pointer.@@ -96,6 +97,9 @@ static struct pid_namespace *create_pid_namespace(struct pid_namespace *parent_pThis is not right, afaics. I already sent the similar patches, but
for (i = 1; i< PIDMAP_ENTRIES; i++)
atomic_set(&ns->pidmap[i].nr_free, BITS_PER_PAGE);
+ if (pid_ns_prepare_proc(ns))
+ goto out_free_map;
+
return ns;
they were ignored ;)
Please see http://marc.info/?l=linux-kernel&m=127697484000334
If pid_ns_prepare_proc() fails we shouldn't blindly return ENOMEM
and, more importantly, we need put_pid_ns(parent_ns).
Are you ok if I replace the patch 2/4 with your patch ?
Your change looks very similar to 1/4 + 3/4. Just fix the problem
in create_pid_namespace(), no need to replace.