Messages in this thread | | | Date | Wed, 19 Jun 2013 08:52:18 -0700 | From | Tejun Heo <> | Subject | Re: [PATCH] kernel/kthread.c: need spin_lock_irq() for 'worker' before main looping, since it can "WARN_ON(worker->task)". |
| |
On Wed, Jun 19, 2013 at 06:17:36PM +0800, Chen Gang wrote: > Hmm... can 'worker->task' has chance to be not NULL before set 'current' > to it ?
Yes, if the caller screws up and try to attach more than one workers to the kthread_worker, which has some possibility of happening as kthread_worker allows both attaching and detaching a worker.
> why do we use WARN_ON(worker->task) ?
To detect bugs on the caller side.
> I guess it still has chance to let "worker->task != NULL", or it should > be BUG_ON(worker->task) instead of.
What difference does that make?
-- tejun
| |