[Devel] Re: [PATCH 2/4] pidns: Call pid_ns_prepare_proc from create_pid_namespace
On 01/31/2011 03:02 PM, Oleg Nesterov wrote: > On 01/31, Daniel Lezcano wrote: >> On 01/31/2011 02:22 PM, Oleg Nesterov wrote: >>> On 01/31, Daniel Lezcano wrote: @@ -96,6 +97,9 @@ static struct pid_namespace *create_pid_namespace(struct pid_namespace *parent_p 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; >>> This is not right, afaics. I already sent the similar patches, but >>> 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). >> Oh, ok. Right. Thanks for the pointer. >> >> Are you ok if I replace the patch 2/4 with your patch ? > My patch depends on 1/4, http://marc.info/?l=linux-kernel&m=127697468632667 > > Your change looks very similar to 1/4 + 3/4. Just fix the problem > in create_pid_namespace(), no need to replace. Ok, will do. Thanks Oleg. -- Daniel ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers ___ Devel mailing list Devel@openvz.org https://openvz.org/mailman/listinfo/devel
[Devel] Re: [PATCH 2/4] pidns: Call pid_ns_prepare_proc from create_pid_namespace
On 01/31, Daniel Lezcano wrote: > > On 01/31/2011 02:22 PM, Oleg Nesterov wrote: >> On 01/31, Daniel Lezcano wrote: >>> @@ -96,6 +97,9 @@ static struct pid_namespace *create_pid_namespace(struct >>> pid_namespace *parent_p >>> 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; >> This is not right, afaics. I already sent the similar patches, but >> 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). > > Oh, ok. Right. Thanks for the pointer. > > Are you ok if I replace the patch 2/4 with your patch ? My patch depends on 1/4, http://marc.info/?l=linux-kernel&m=127697468632667 Your change looks very similar to 1/4 + 3/4. Just fix the problem in create_pid_namespace(), no need to replace. Oleg. ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers ___ Devel mailing list Devel@openvz.org https://openvz.org/mailman/listinfo/devel
[Devel] Re: [PATCH 2/4] pidns: Call pid_ns_prepare_proc from create_pid_namespace
On 01/31/2011 02:22 PM, Oleg Nesterov wrote: > On 01/31, Daniel Lezcano wrote: >> @@ -96,6 +97,9 @@ static struct pid_namespace *create_pid_namespace(struct >> pid_namespace *parent_p >> 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; > This is not right, afaics. I already sent the similar patches, but > 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). Oh, ok. Right. Thanks for the pointer. Are you ok if I replace the patch 2/4 with your patch ? ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers ___ Devel mailing list Devel@openvz.org https://openvz.org/mailman/listinfo/devel
[Devel] Re: [PATCH 2/4] pidns: Call pid_ns_prepare_proc from create_pid_namespace
On 01/31, Daniel Lezcano wrote: > > @@ -96,6 +97,9 @@ static struct pid_namespace *create_pid_namespace(struct > pid_namespace *parent_p > 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; This is not right, afaics. I already sent the similar patches, but 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). Oleg. ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers ___ Devel mailing list Devel@openvz.org https://openvz.org/mailman/listinfo/devel