Re: [PATCH v3 1/1] workqueue: ignore dead tasks in a workqueue sleep hook

From: Oleg Nesterov
Date: Tue Oct 25 2016 - 11:58:50 EST


On 10/25, Oleg Nesterov wrote:
>
> void oops_end_exit(void)
> {
> current->flags &= ~PF_WQ_WORKER;
> perhaps sonething else;
> }
>
> called by oops_end() before rewind_stack_do_exit() ?

and "perhaps sonething else" above should probably clear current->plug,
it likely points to "struct blk_plug" on stack.

and perhaps call task_work_run(). Currently only irq_thread() uses the
"destructor" work on stack, but think can have more users.

Oleg.