On 12/18, Matthew Wilcox wrote: > > --- a/kernel/pid.c > +++ b/kernel/pid.c > @@ -233,8 +233,11 @@ struct pid *alloc_pid(struct pid_namespace *ns) > > out_free: > spin_lock_irq(&pidmap_lock); > - while (++i <= ns->level) > - idr_remove(&ns->idr, (pid->numbers + i)->nr); > + upid = pid->numbers + i; > + while (++i <= ns->level) { > + upid++; > + idr_remove(&upid->ns->idr, upid->nr);
can't resist... while (++i <= ns->level) { upid = pid->numbers + i; idr_remove(&upid->ns->idr, upid->nr); } looks a bit more clean to me, but this is cosmetic and subjective. Reviewed-by: Oleg Nesterov <o...@redhat.com>