[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 11 Nov 2011 14:02:01 +0400
From: Pavel Emelyanov <xemul@...allels.com>
To: Oleg Nesterov <oleg@...hat.com>
CC: Andrew Morton <akpm@...ux-foundation.org>,
Cyrill Gorcunov <gorcunov@...nvz.org>,
Glauber Costa <glommer@...allels.com>,
Nathan Lynch <ntl@...ox.com>, Tejun Heo <tj@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Serge Hallyn <serue@...ibm.com>,
Daniel Lezcano <dlezcano@...ibm.com>
Subject: Re: [PATCH 1/3] pids: Make alloc_pid return error
On 11/10/2011 10:00 PM, Oleg Nesterov wrote:
> 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().
Yikes! Will fix, thanks!
>> @@ -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.
Hm... OK, I will brush up the error paths a little bit more :)
> Oleg.
>
> .
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists