lkml.org 
[lkml]   [2011]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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.
>
> .
>



\
 
 \ /
  Last update: 2011-11-11 11:05    [W:0.463 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site