Messages in this thread | | | Date | Tue, 10 Jun 2008 21:47:50 +0400 | From | Oleg Nesterov <> | Subject | Re: [patch] sched: prevent bound kthreads from changing cpus_allowed |
| |
On 06/05, David Rientjes wrote: > > Kthreads that have called kthread_bind() are bound to specific cpus, so > other tasks should not be able to change their cpus_allowed from under > them. Otherwise, it is possible to move kthreads, such as the migration > or software watchdog threads, so they are not allowed access to the cpu > they work on.
Imho, this is very good change, but...
> @@ -180,6 +180,7 @@ void kthread_bind(struct task_struct *k, unsigned int cpu) > set_task_cpu(k, cpu); > k->cpus_allowed = cpumask_of_cpu(cpu); > k->rt.nr_cpus_allowed = 1; > + k->flags |= PF_THREAD_BOUND;
What if user-space moves this task right before "|= PF_THREAD_BOUND" ?
Oleg.
| |