Re: [patch V4 part 1 29/36] x86/mce: Send #MC singal from task work

From: Mathieu Desnoyers
Date: Thu May 14 2020 - 13:05:06 EST


----- On May 14, 2020, at 12:39 PM, Borislav Petkov bp@xxxxxxxxx wrote:

> On Thu, May 14, 2020 at 12:03:30PM -0400, Mathieu Desnoyers wrote:
>> - #MC triggered, queuing task work,
>> - unrelated signal happens to be delivered to task,
>> - exit to usermode loop handles do_signal first,
>> - then it runs task work.
>
> How can that even happen?
>
> exit_to_usermode_loop->do_signal->get_signal and that does:
>
> if (unlikely(current->task_works))
> task_work_run();
>
> at the top.
>
> So the task work will always run before the signal handler.

OK yes, nevermind. I focused on its invocation from tracehook_notify_resume
and missed this invocation in do_signal. My bad.

Thanks,

Mathieu


--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com