Oleg Nesterov <[email protected]> writes:

> On 05/12, Kirill Tkhai wrote:
>>
>  --- a/kernel/fork.c
>> +++ b/kernel/fork.c
>> @@ -1845,11 +1845,13 @@ static __latent_entropy struct task_struct 
>> *copy_process(
>>      */
>>      recalc_sigpending();
>>      if (signal_pending(current)) {
>> -            spin_unlock(&current->sighand->siglock);
>> -            write_unlock_irq(&tasklist_lock);
>>              retval = -ERESTARTNOINTR;
>>              goto bad_fork_cancel_cgroup;
>>      }
>> +    if (unlikely(!(ns_of_pid(pid)->nr_hashed & PIDNS_HASH_ADDING))) {
>> +            retval = -ENOMEM;
>> +            goto bad_fork_cancel_cgroup;
>> +    }
>>  
>>      if (likely(p->pid)) {
>>              ptrace_init_task(p, (clone_flags & CLONE_PTRACE) || trace);
>> @@ -1907,6 +1909,8 @@ static __latent_entropy struct task_struct 
>> *copy_process(
>>      return p;
>>  
>>  bad_fork_cancel_cgroup:
>> +    spin_unlock(&current->sighand->siglock);
>> +    write_unlock_irq(&tasklist_lock);
>>      cgroup_cancel_fork(p);
>
> Looks good to me.

Oleg can I have a review or acked by?

Then I will queue this up.
Eric

Reply via email to