Messages in this thread |  | | | Date | Thu, 10 Nov 2011 19:00:22 +0100 | | From | Oleg Nesterov <> | | Subject | Re: [PATCH 1/3] pids: Make alloc_pid return error |
| |
On 11/10, Pavel Emelyanov wrote: > > @@ -281,7 +281,7 @@ struct pid *alloc_pid(struct pid_namespace *ns) > { > struct pid *pid; > enum pid_type type; > - int i, nr; > + int i, nr = -ENOMEM; > struct pid_namespace *tmp; > struct upid *upid;
This doesn't look right at first glance... I mean, if the first kmem_cache_alloc(ns->pid_cachep) fails, this -ENOMEM won't be returned as ERR_PTR().
> @@ -321,7 +321,7 @@ out_free: > free_pidmap(pid->numbers + i); > > kmem_cache_free(ns->pid_cachep, pid); > - pid = NULL; > + pid = ERR_PTR(nr); > goto out;
Off-topic, but with or withoit this patch this "goto out" looks strange imho. Why not a simple
- pid = NULL; - goto out; + return ERR_PTR(nr);
instead? But this is minor and subjective, I won't insist.
Oleg.
|  |