Messages in this thread | | | Date | Thu, 16 Oct 2014 09:56:50 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH RFC] sched: Revert delayed_put_task_struct() and fix use after free |
| |
On Wed, Oct 15, 2014 at 09:40:44PM +0200, Oleg Nesterov wrote: > What do you think? > > Oleg. > > --- x/kernel/sched/fair.c > +++ x/kernel/sched/fair.c > @@ -1165,7 +1165,7 @@ static void task_numa_compare(struct tas > > rcu_read_lock(); > cur = ACCESS_ONCE(dst_rq->curr); > - if (cur->pid == 0) /* idle */ > + if (is_idle_task(cur) || (curr->flags & PF_EXITING)) > cur = NULL; > > /*
That makes sense, is_idle_task() is indeed the right function there, and PF_EXITING avoids doing work where it doesn't make sense.
| |