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

From: Oleg Nesterov
Date: Tue Oct 25 2016 - 12:09:44 EST


sorry for noise, forgot to mention...

On 10/25, Oleg Nesterov wrote:
>
> 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.

and, probably absorb some code from do_exit(), say set_fs(USER_DS) and/or
PF_EXITING check.

Oleg.