Re: [PATCH] io_thread/x86: don't reset 'cs', 'ss', 'ds' and 'es' registers for io_threads

From: Olivier Langlois
Date: Tue May 25 2021 - 15:45:17 EST


On Tue, 2021-05-25 at 15:39 -0400, Olivier Langlois wrote:
> This notion appears to be central when creating a coredump...
> Only tasks having the same mm than the one receiving the SIGSEGV will
> be zapped...
>
> in zap_threads():
>                 for_each_thread(g, p) {
>                         if (unlikely(!p->mm))
>                                 continue;
>                         if (unlikely(p->mm == mm)) {
>                                 lock_task_sighand(p, &flags);
>                                 nr += zap_process(p, exit_code,
>                                                         SIGNAL_GROUP_
> E
> XIT);
>                                 unlock_task_sighand(p, &flags);
>                         }
>                         break;
>                 }

without fully understanding what I am doing... I am tempted to tweak
the condition

(unlikely(p->mm == mm))

for

(unlikely(p->mm == mm || p->flags & PF_IO_WORKER))

and see if it would resolve my coredump problem...